来自生活在不同域上的JS文件的相对路径

时间:2010-08-16 20:21:25

标签: javascript relative-path

我有一个生活在www.domain-a.com上的html文件

它引用了www.domain-b.com/somedirectory/js

上的js文件

在js文件中,我需要能够指向www.domain-b.com,但仅使用相对路径来访问www.domain-b.com/somedirectory/images等文件

有什么建议吗?目前我正在尝试类似......

myImgUrl = '../images';

但是当它被注入页面时,它会在HTML中显示为......

<img src="http://../images/somefile.jpg" />

反馈总是受到赞赏。

3 个答案:

答案 0 :(得分:3)

相对URL是相对于它们所在的页面,因此即使您的脚本文件位于正确的域上以发出相对请求,相对URL也是相对于父页面而不是脚本文件。

因此,最好的办法是坚持:

var domain = 'http://domain-b.com/';

位于脚本顶部,并将其用作配置项,以将图像路径附加到。

答案 1 :(得分:2)

JS所做的一切都与它运行的环境有关,而不是从它加载的地方。

虽然您可以使用DOM来抓取最后一个<script>元素,但请阅读其src属性并确定脚本的加载位置(假设脚本未添加到更高位置)使用DOM操作来处理文档)...几乎可以肯定,在脚本中放置一个绝对URI(或者在文档中较高位置的内联脚本元素中的变量中使用基本URI)。

答案 2 :(得分:2)

您需要将图像URL硬编码到您拥有的JS文件中。否则,你看,域A上的任何相对引用都只是对域A的相对引用。