【问题标题】:Relative path from a JS file that lives on a different domain来自不同域的 JS 文件的相对路径
【发布时间】:2010-08-16 20:21:24
【问题描述】:

我有一个位于 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" />

我们随时欢迎您的反馈。

【问题讨论】:

  • 我认为您不能使用相对路径来指向另一个域中的资源...

标签: javascript relative-path


【解决方案1】:

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

因此,你最好的选择是坚持:

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

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

【讨论】:

    【解决方案2】:

    JS 所做的一切都是相对于它运行的环境,而不是它从哪里加载的。

    虽然您可以摆弄 DOM 以获取最后一个 &lt;script&gt; 元素,但请阅读其 src 属性并确定脚本的加载位置(假设脚本没有添加到文档的更高位置) DOM 操作)……几乎可以肯定,将绝对 URI 放入脚本中(或将基本 URI 放入文档更高层的内联脚本元素中的变量中)会更容易。

    【讨论】:

      【解决方案3】:

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

      【讨论】:

        猜你喜欢
        • 2021-08-29
        • 2018-09-30
        • 2011-12-03
        • 2011-09-17
        • 1970-01-01
        • 2012-02-03
        • 1970-01-01
        • 2021-04-06
        • 1970-01-01
        相关资源
        最近更新 更多