js中操作iframe的DOM(兼容IE,firefox,chrome)


今天重新看《javascript权威指南》发现在javascript操作iframe的DOM中还存在一些缺陷,故此把总结出来,为大家备用:

A.HTML

<!doctype html>
<html>
<head></head>

<body>

<iframe id="iId" name="iId" src="sss.html" ></iframe>
<div id="ddd">
</div>
</body>
</html>

B.HTML

<!doctype html>
<html>
<head>

</head>
<body>
<h1 id="d">s</h1>
<p>早上吃早点,中午约会吃饭,下午K歌,晚上和哥哥瞎折腾</p>
</body>
</html>

要想在A页面中访问B页面中的DOM,我们可以用一下方法:

function getframe(){

var Oframe=document.getElementById(_id).contentDocument||document.frames[_id].document;

return Oframe;

}

var aa=getframe("iId").getElementById("d").innerHTML;

alert(aa);   //s

其中对于火狐的话就是:document.getElementById(_id).contentDocument;

对于ie的是:document.frames[_id].document;

 

因为chrome(谷歌)的本身原因,所以本地机上是不允许操作的,如果要进行操作可以再服务器上apache或tomcat中运行,原理跟火狐一样。

如果错误,请大家提出,谢谢。

对于子窗口访问父窗口就使用parent;


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM