html图像src混乱

时间:2009-09-15 15:49:31

标签: javascript html

如果我输入src属性./images/nothing.gif这会转化为什么?

我有一个javascript文件,它将某个html元素的src属性设置为'nothing.gif'

但在页面上,nothing.gif显示为“找不到文件”符号。

目前nothing.gif位于我的ftp服务器中的以下位置:

/www/foldername/wp-content/themes/themeg/images/nothing.gif

javascript位于:

/www/darksnippets/wp-content/themes/themeg/javascript.js

因为这是wordpress,所以没有实际的“html页面”内容存储在DB中。所以,如果我使用../我应该在哪里放置nothing.gif?

编辑:

这是指向页面的链接:http://www.darksnippets.com/?page_id=56

nothing.gif可以在这里找到:http://www.darksnippets.com/wp-content/uploads/nothing.gif

在右下角,您将看到损坏的图像符号(这在Chrome的IE中显示。在FF中不显示)

8 个答案:

答案 0 :(得分:3)

相对路径./images/nothing.gif由浏览器解释,而不是服务器。因此,它将从浏览器的角度查看URL来解析路径。浏览器看到的网址是什么?

更新

我看到你提供了网址。将您的相对路径更改为:

./wp-content/uploads/nothing.gif

但更好的解决方案是使用根相对路径。即以/

开头的那个

答案 1 :(得分:0)

其中一个想法是使用图像文件的完整路径

e.g. http://www.yourdomain.com/images/nothing.gif

答案 2 :(得分:0)

我没有非常好地使用wp,我无法给出具体的答案,但一般的解决方案是使用格式“http://www.sitename.com/folder/nothing.gif”当然,sitename.com/folder被取代使用您的域名和您网站上的文件夹。

答案 3 :(得分:0)

如果您正在使用PHP编写Wordpress模板,则可以使用以下命令访问模板目录的完整路径:

bloginfo('template_directory')

或者,如果您可以通过CSS将图像设置为背景图像(而不是使用src),CSS中定义的相对图像路径将相对于CSS路径:

.nothing { background: url(images/nothing.gif); }

答案 4 :(得分:0)

如果HTML页面为http://www.darksnippets.com/?page%5Fid=56,则nothing.gif指向http://www.darksnippets.com/nothing.gif。 Javascript的位置无关紧要。所以你应该只需要“wp-content / uploads / nothing.gif”。

答案 5 :(得分:0)

正如我想的那样,在IE和Firefox中,浏览器正在寻找http://www.darksnippets.com/images/nothing.gif。相对URL是相对于www.darksnippets.com(页面的网址),而不是javascript的位置。

答案 6 :(得分:0)

Ates Goral的回答是正确的。我将扩展以解决您提出的其他问题。

在相对路径中,.(单点)指的是当前路径。这通常是加载页面的路径(并根据您的Web服务器规则解决),除非您的页面使用的<base href="...">与您当前的路径不同。这是因为每个加载的页面都有一个基本路径,默认为......你猜对了,.(单点)。同样,..(两个点)指的是当前路径的父目录(也根据Web服务器上的规则解析)。

答案 7 :(得分:0)

对于此问题,您只需从代码中删除点(。) / 符号即可 所以现在你的代码就像 src = images / nothing.gif

我认为这对你有用。

相关问题