从父jquery访问iframe内容

时间:2013-06-17 07:21:41

标签: javascript jquery asp.net iframe

我想访问父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 )...

提前致谢...

1 个答案:

答案 0 :(得分:4)

如果您删除iframe的onload,则代码正常运行。 http://jsfiddle.net/qPFza/

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

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

参见这个例子,这里也没有调用load函数。 http://jsfiddle.net/qPFza/1/

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

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