Url Firefox问题:是否可以创建一个html iframe,使用chrome://从我的扩展加载文档?

Url Firefox问题:是否可以创建一个html iframe,使用chrome://从我的扩展加载文档?,url,iframe,firefox-addon,Url,Iframe,Firefox Addon,我想知道是否有可能在指向XUL文档的HTML文档中创建一个iframe,该文档位于我的firefox扩展中,例如: <iframe src="chrome://myextension/content/document.xul"/> 我当前在尝试执行此操作时遇到安全错误。我已经在我的chrome.manifest中尝试了contentaccessible=yes标志,但它不起作用 有什么办法可以让它工作吗 谢谢。不,网页通常不允许加载chrome文档contentaccessib

我想知道是否有可能在指向XUL文档的HTML文档中创建一个iframe,该文档位于我的firefox扩展中,例如:

<iframe src="chrome://myextension/content/document.xul"/>

我当前在尝试执行此操作时遇到安全错误。我已经在我的chrome.manifest中尝试了contentaccessible=yes标志,但它不起作用

有什么办法可以让它工作吗


谢谢。

不,网页通常不允许加载chrome文档
contentaccessible=yes
指的是在安全方面监管较少的图像和脚本(它们也可以跨域使用)。但是,您的扩展有权加载chrome文档,甚至可以加载到内容页中。因此,从您的扩展中执行类似的操作将有效:

window.content.frames[0].location.href = "chrome://myextension/content/document.xul";

不确定这是否会对您有所帮助,这取决于您想要实现的目标。

我想要实现的只是将扩展中包含的一些XUL文档直接加载到我的网站中。我已经尝试过远程XUL,但是我遇到了很多安全错误,所以我想这不是一个选择。你认为从网页触发自定义事件并在扩展中捕获它们就足以访问我动态创建的iFrame并更改它们的src属性吗?@santiageitorx:是的,这会起作用-事实上,这是网站和扩展之间通信的推荐方法。再次感谢瓦拉迪米尔,你帮了我很大的忙。我现在就试试,我刚试过。通信工作正常,事件由扩展接收,我可以将iframe的src属性更改为我喜欢的任何url,但它仍然没有加载chrome://myextension/content/document.xul 或任何其他包含我的扩展名的xul文件;它什么也不做,我在js错误控制台中没有收到任何错误<代码>evt.target.parentNode.setAttribute('src','chrome://myextension/content/document.xul');除了
evt.target.parentNode.setAttribute('src','http://www.google.com');工作正常。有什么建议吗?设置
src
属性异步加载帧-您应该像我的示例中那样设置
location.href
。应该注意,这里的http://或不受信任的数据url可能是Chrome特权窗口中的安全漏洞。