2

我想访问父 jQuery 上的 iframe 内容。

我在父页面上添加了以下代码。

$(document).ready(function () {
    $('#MyIframe').load(function () {
        $('#MyIframe').contents().find('body').html('Hey, i`ve changed content of <body>! Yay!!!');
    });
});

我的 iframe 页面从其他网站加载它给了我一个错误

Error: Permission denied to access property 'ownerDocument'

[Break On This Error]   

...f ( ( context ? context.ownerDocument || context : preferredDoc ) !== document )...
4

1 回答 1

4

如果您删除onloadiframe 的代码,则该代码有效。http://jsfiddle.net/qPFza/

$(document).ready(function () {
    $('#myiframe').contents().find('body').html('Hey, i`ve changed content of <body>! Yay!!!');
});

所以你的问题是因为你的 iframe 的内容没有被你设置的 onload 触发。

看这个例子,这里也没有调用加载函数。http://jsfiddle.net/qPFza/1/

现在在这个例子中,内容来自不同的网站,不是让你改变它。http://jsfiddle.net/qPFza/2/

如果网页和 iframe 来自不同的站点,则无法更改其中一个。

于 2013-06-17T07:47:09.533 回答