$(' iframe')。content():无法通过CORS传递

时间:2014-07-21 09:45:15

标签: jquery cors

我在http://mysite.dev:3000上有一个iframe,此页面上的脚本会将iframe src属性设置为http://mysite.dev:5000/somepage.html

加载iframe后,我想使用此脚本(http://mysite.dev:3000)访问其内容:

$('iframe').load(function() {
    $('iframe').contents();
});

我总是得到错误:

Uncaught SecurityError: Failed to read the 'contentDocument' property from 'HTMLIFrameElement': Blocked a frame with origin.

事件,来自http://mysite.dev:5000/somepage.html的响应标头遵循CORS准则:

Accept-Ranges:bytes
access-control-allow-credentials:true
access-control-allow-headers:Authorization, X-Requested-With, Content-Type, Origin, Accept
access-control-allow-methods:GET,PUT,POST,DELETE,OPTIONS
access-control-allow-origin:*
Cache-Control:public, max-age=0

我读了几个关于SO的问题,然后关注它们,但它仍然没有用。

1 个答案:

答案 0 :(得分:0)

cors标题不适用于iframe。您需要使用postMessage方法跨不同域传输数据。见Cross domain iframe issue