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