访问chrome-extension上的https iframe元素

时间:2012-11-17 14:01:55

标签: google-chrome https google-chrome-extension cross-domain same-origin-policy

我在我的popup.html中添加了iframe和jquery。

<iframe id="xyz" border="0" src="https://xyz.com/test"></iframe>

并尝试通过控制台使用此命令到达此iframe的元素:

$("#xyz").contents().find("body").fadeIn();

但它给出了这个错误:

Unsafe JavaScript attempt to access frame with URL https://xyz.com/test from frame with URL chrome-extension://my-extension-id/popup.html. The frame requesting access has a protocol of 'chrome-extension', **the frame being accessed has a protocol of 'https'. Protocols must match**

我搜索了谷歌此错误,但没有像这样的错误。所有人都说域名必须匹配等等。但是这个说只有协议必须匹配。如何解决此协议问题?

我的清单文件中有这一行。

"permissions": [
    "*://xyz.com/*"
]

1 个答案:

答案 0 :(得分:0)

似乎是same origin policy的问题。

尝试按照this discussion中提到的解决方案。另外,在尝试使用jQuery之前,首先尝试使用本机Javascript。