我希望使用AsYouWish创建一个用HTML编写的浏览器。 (AsYouWish将特权Firefox Addons SDK暴露给常规网站,但需要用户批准网站请求的每个权限;但请注意,此问题并不需要了解AsYouWish,只需要知道SDK或XPCOM API。)
我的demo能够发出跨域请求,并使用srcdoc将文本添加到iframe,但显然由于安全限制,我无法从iframe中获取contentDocument
(当我尝试更改iframe上的src时,根据this demo)。
在Addons SDK(或XPCOM)中是否存在某种手段(内容代理,安全策略或其他任何可能被称为),我可能会使用它来升级我的网站特权以反省(跨域){{ 1}}这里(所以我可以从父级监听iframe中的页面位置更改,从而使用后退和前进按钮等构建我自己的浏览器历史记录)?
更新:由于我了解远程XUL已被禁用,我想也许我唯一的(尽管很尴尬)解决方案可能是检测网站对DOM权限的请求,如果授予用户,在chrome://文档的特权iframe中重新加载页面(因为根据https://developer.mozilla.org/en-US/docs/Displaying_web_content_in_an_extension_without_security_issues,在这种情况下,内部iframe将被授予特权,除非受到限制,因此可能是特权iframe应该能够达到它自己的(跨域)iframe)。我希望我可以允许它访问其跨域子框架,而无法访问它直到chrome级别,但我可能会接受这一点,因为授予跨域iframe访问权限已经是一个非常高级别的权限