【发布时间】:2015-02-28 14:57:20
【问题描述】:
您好,我正在创建一个 chrome 扩展,我在其中将 iframe 注入到某些页面中。在 iframe 的 onload 函数中,我尝试使用 Jquery 访问 iframe 中的元素。
$("#divInside-iframe",iframeDocument)
尝试这样做时出现错误:
未捕获的安全错误:无法在“EventTarget”上执行“addEventListener”:阻止了来源为“http://www.whateverpage.com”的框架访问来源为“chrome-extension://meehnkofmafeb******”的框架。请求访问的帧具有“http”协议,被访问的帧具有“chrome-extension”协议。协议必须匹配。
有趣的是,这个错误发生在我第一次尝试访问 iframe 中的内容时。它不会在后续调用中发生,除非我从中间的常规页面 dom 访问某些内容。之后错误再次重复。
一些有趣的事情
try{
$("#divInside-iframe",iframeDocument)
}catch(error){
$("#divInside-iframe",iframeDocument)
}
作为一种解决方法!
还请注意错误是在 Jquery 代码的嘶嘶声部分。
使用 Jquery 2.1.3 和 1.11.1 检查
【问题讨论】:
标签: jquery iframe google-chrome-extension sizzle