Javascript 如何在不加载页面的情况下为空白选项卡设置URL?

Javascript 如何在不加载页面的情况下为空白选项卡设置URL?,javascript,firefox-addon,Javascript,Firefox Addon,我正在开发一个Firefox扩展,它使用在线源代码查看器工具作为代理下载被阻止的网页,然后将网页的HTML代码注入空白选项卡 到目前为止,它工作正常,但问题是新选项卡没有与之关联的URL,因此为链接、图像、样式表和其他资源设置的所有相对路径将不再指向实际路径 我尝试了history.pushState()和history.replaceState(),但只有当新URL与当前URL的来源相同时,它们才起作用,而新选项卡根本没有URL。您可以使用元素,该元素 指定用于文档中包含的所有相对URL的基本

我正在开发一个Firefox扩展,它使用在线源代码查看器工具作为代理下载被阻止的网页,然后将网页的HTML代码注入空白选项卡

到目前为止,它工作正常,但问题是新选项卡没有与之关联的URL,因此为链接、图像、样式表和其他资源设置的所有相对路径将不再指向实际路径

我尝试了
history.pushState()
history.replaceState()
,但只有当新URL与当前URL的来源相同时,它们才起作用,而新选项卡根本没有URL。

您可以使用元素,该元素

指定用于文档中包含的所有相对URL的基本URL

您可以使用
var base=document.createElement('base')创建它
然后,将其附加到文档的
后,可以使用其
href
属性指定文档的baseURI:
base.href=yourDocURI

var-anchor=document.createElement('a');
//设置它的相对路径
anchor.href='../someDoc.html';
//创建新文档
var doc=document.implementation.createHTMLDocument(“空页”);
//将我们的锚添加到about:blank文档
doc.body.appendChild(锚定);
log('without base:'+anchor.href);
var base=document.createElement('base');
base.href=”http://example.com/some/folder/index.html";
文件头附件子项(基础);
log('with base:'+anchor.href)