在我有這樣的HTML代碼:獲取IFrame的文件,從JavaScript主文檔
<html>
<head>
<script type="text/javascript">
function GetDoc(x)
{
return x.document ||
x.contentDocument ||
x.contentWindow.document;
}
function DoStuff()
{
var fr = document.all["myframe"];
while(fr.ariaBusy) { }
var doc = GetDoc(fr);
if (doc == document)
alert("Bad");
else
alert("Good");
}
</script>
</head>
<body>
<iframe id="myframe" src="http://example.com" width="100%" height="100%" onload="DoStuff()"></iframe>
</body>
</html>
的問題是,我得到消息「壞」。這意味着iframe的文檔沒有正確獲取,GetDoc函數返回的實際文檔是父文檔。
如果您告訴我我的錯誤在哪裏,我會很感激。 (我想在IFrame中獲取文檔。)
謝謝。
這是2010年的問題,今天在2015年,這不適用於任何新的瀏覽器,除非您正在開發google.com。由於採用了交叉來源策略,如果它指向的頁面位於與原始文檔加載的頁面不同的域上,則無法訪問iframe的內容。 – aorcsik 2015-11-05 22:50:14