是否有一种方法/功能来获取规范/转换的 URL,尊重页面的任何 base.href 设置?
我可以通过(在 jQuery 中)使用获取基本 URL,$("base").attr("href")
并且我可以使用字符串方法来解析与此相关的 URL,但是
- $("base").attr("href") 没有主机、路径等属性(如 window.location 有)
- 手动把它放在一起相当乏味
例如,给定一个 base.href"http://example.com/foo/"
和一个相对 URL "/bar.js"
,结果应该是:"http://example.com/bar.js"
如果 base.href 不存在,则 URL 应相对于 window.location。这应该处理不存在的 base.href (在这种情况下使用位置作为基础)。
是否已经有可用的标准方法?
(我正在寻找这个,因为 jQuery.getScript 在使用像“/foo.js”这样的相对 URL 并且正在使用 BASE 标记时失败(FF3.6 发出 OPTIONS 请求,而 nginx 无法处理这个)。当使用完整的 URL(base.href.host + "/foo.js",它有效)。)