首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用"..“将图像url绝对化

使用"..“将图像url绝对化
EN

Stack Overflow用户
提问于 2013-04-24 08:41:34
回答 3查看 228关注 0票数 2

我有一个HTML文档,我正在转换一个图像,它的源url如下所示:

代码语言:javascript
复制
"../foo/bar/baz.png"

我正在使用一个tritium函数来绝对化图像源urls,但是"..“似乎把它难住了。它添加了主机名等前缀,但当它这样做时,它会添加多一个层。

例如,图像的正确URL为:

代码语言:javascript
复制
"www.host.com/foo/bar.png"

但出现它的页面是"www.host.com/site/baz/page.html"

因此,原始html中的图像的源是"../foo/bar.png"

但是我得到的绝对结果是:"www.host.com/site/foo/bar.png"

换句话说,它在文件树中向上移动到"/site/",但它需要再向上移动一次。我真的看不出它在没有另一个"..“的原始页面上是如何工作的。我应该如何处理"..“在url里?

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2013-04-26 08:24:41

当您在Moovweb项目中时,我建议您在使用absolutize()函数之前操作有问题的src。

有没有一种简单的方法可以用3H来选择图像?我建议这样做,然后操作src属性:

代码语言:javascript
复制
$("./img[@id='']") {
  attribute("src", "/foo/bar.png")
}

在此之后,您应该能够使用absolutize()函数,并且src将被正确呈现。

票数 1
EN

Stack Overflow用户

发布于 2013-04-24 08:47:03

..意味着向上遍历一级;您使用的是相对路径,而不是您应该使用的绝对路径。去掉这些点:

<img src="/foo/bar.png">将从域的根目录加载图像。

票数 3
EN

Stack Overflow用户

发布于 2013-04-24 09:12:21

src="/foo/bar.png"src="foo/bar.png"之间有很大的不同(注意第一个双引号后面的斜杠)

无论如何,第一个都指向http://example.com/foo/bar.png

这就是为什么你会得到"www.host.com/site/foo/bar.png“(相对于文件路径上一级的)的原因。

两种解决方案:

1) src="/foo/bar.png" OR

2) src="../../foo/bar.png"

我总是推荐第一种方法,因为即使在移动文件之后,您也不必更改绝对URL。(我是通过艰苦的方式学会的)

附注:此规则也适用于CSS文件。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/16181522

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档