1
我的目標是讓一個父頁面將iframe的src從空白更改爲其正確的url(就像在給定點處使用iframe中的onload處理程序,但除此之外),然後處理iframe的內容。但是,JavaScript似乎忘記了DOM加載時不在其src中的任何iframe元素。有沒有辦法解決?可以設置一個iframe的src,然後處理它的內容嗎?
setTimeouts旨在允許加載DOM和iframe。 編輯:修正了一些東西。 這裏是包含頁:
<html><head>
<script type="text/javascript">
var done = false;
var theIframe;
window.onload = function() {
setTimeout('stuff()', 2000);
clearTimeout('stuff()');
}
function stuff() {
if (!done) {
theIframe = window.myiframe;
theIframe.src = 'http://localhost/TestStuff/redirectIframe.jsp';
done = true;
stuff();
} else {
theIframe.setMe = true;
}
}
</script>
</head>
<body>
<iframe src="" width="500" height="500" id="myiframe" name="myiframe">
</iframe>
</body>
而這裏的IFRAME:
<html>
<head>
<script type="text/javascript">
var setMe = false;
window.onload = setInterval('checker()', 1000);
function checker() {
alert('hi');
if (setMe) {
window.onload = null;
top.location = 'http://www.google.com';
alert('foundit');
} else alert('a');
}
</script>
</head>
<body></body>
</html>
任何想法?
呀,沒有太多指向該遞歸我想。儘管如此,雖然在更改src之後,Iframe.contentWindow未定義。 – Amalgovinus 2011-03-02 17:25:43
@Rujiel:這很奇怪 - 如果頁面確實已經完成加載,則不應該發生這種情況。 – casablanca 2011-03-02 17:28:42
如果必須先修改src,則無法訪問iframe中的任何js。似乎只有DOM將在iframe refesh上更新,並且iframe上的js不會被考慮在內? – Amalgovinus 2011-03-02 17:58:55