今天重新看《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;