Html 火狐。允许通过javascript访问IFrame元素
我正在编写一个在外部网页上查找css选择器的工具。它是一个普通的html页面,包含带有目标站点和少量控制元素的iframe。所有的逻辑都是使用jquery的javascript,所以目前还没有服务器端 我面临的问题是a无法使用Firefox26.0将处理程序/类添加到iframe文档元素。示例代码:Html 火狐。允许通过javascript访问IFrame元素,html,firefox,iframe,cors,x-frame-options,Html,Firefox,Iframe,Cors,X Frame Options,我正在编写一个在外部网页上查找css选择器的工具。它是一个普通的html页面,包含带有目标站点和少量控制元素的iframe。所有的逻辑都是使用jquery的javascript,所以目前还没有服务器端 我面临的问题是a无法使用Firefox26.0将处理程序/类添加到iframe文档元素。示例代码: iframe.contents().find("*").hover(function() { console.log("This is " + $(this).get(0).tagNam
iframe.contents().find("*").hover(function() {
console.log("This is " + $(this).get(0).tagName + "element");
}
我在控制台中收到下一条错误消息:错误:访问属性“文档”的权限被拒绝。
。我知道这确实是一个安全特性,但我只需要设法解决它
我所尝试的:
- 使用Google Chrome-它允许运行带有特殊标志(
)的浏览器,该标志关闭此类安全功能。这很有帮助,我的工具正如我预期的那样工作,但我需要完全使用Firefox--禁用web安全
- 使用插件。这根本没用。我还试图通过该工具添加
,但没有结果x-frames-origin标题
- 关闭firefox配置中的
标志。也没用security.fileuri.strict\u origin\u policy
更新:页面和iframe不在同一站点上。我的工具是local.html文件,iframe源代码-任何站点(wikipedia、yahoo等)最终我找到了解决方案。我用了一个插件。 它允许我将js代码插入iframe,这样我就可以使用消息API与页面上的代码进行交互。示例:
- 防止在父窗口中运行代码:
if(window.top==window.self)返回代码>
- 从主窗口接收到内容:
window.addEventListener('message',yourHandlerHere,false)代码>
- 将内容发布到主窗口:
window.parent.postMessage(yourDataHere)代码>