首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网站开发 > 跨浏览器开发 >

填充到iframe的js为啥只能操作父窗口的DOM

2014-01-21 
填充到iframe的js为什么只能操作父窗口的DOM?!doctype htmlhtmlheadmeta charsetutf-8/head

填充到iframe的js为什么只能操作父窗口的DOM?

<!doctype html>
<html>
<head>
<meta charset="utf-8">
</head>
<script src="http://libs.baidu.com/jquery/1.9.0/jquery.js"></script>
<body>
<div id="div1">父窗口</div>

<iframe id="iframe1" width="500" height="400"></iframe>


<script type="text/javascript">

var html='<div id="div1">子窗口<\/div>';
html+='<script src="http://libs.baidu.com/jquery/1.9.0/jquery.js"><\/script>';
html+='<script>alert($(\'#div1\').html());<\/script>';

$('#iframe1').contents().find('body').html(html);
</script>

</body>
</html>

为什么弹出父窗口,js是在子窗口执行的,如果换成srcdoc填充就会弹出子窗口,但只有chrome和ff支持,IE不支持!
[解决办法]
用jQuery进行这种DOM操作的时候,script会被提取出来,在完成操作后被执行,所以,如果不是在本页执行

那么,就得自己手动添加,不能和其它的html代码写在一起

热点排行