1
在我的網站中,我有一個允許用戶發佈圖像或視頻到Facebook的表單。因爲我需要將文件直接發佈到Facebook,所以我使用發佈到Iframe的表單(爲了防止在發送帖子後將用戶重定向到Facebook發佈的url)。IE9和Iframe onload事件
雖然帖子正在發送(重要的是要注意帖子發送到Facebook域,而不是我自己的域),我向用戶提供一個等待消息,當帖子完成後,我使用iframe onload
事件來隱藏消息。
下面是代碼:
iframe的:
<iframe name="uploader" width=2px height=2px style="visibility: hidden" onLoad="locationChange(this)"></iframe>
JavaScript的隱藏信息,當iframe中加載:
function locationChange(ifrm)
{
alert("Iframe Change");
document.getElementById("loadingOff").style.visibility = "hidden";
}
這一工程上除IE9以外的所有瀏覽器。當我第一次進入頁面時,我可以在IE9上看到「Iframe Change」消息。但是,在帖子發送後我沒有看到它(在Chrome和FireFox上,我看到了兩次消息,當我進入頁面併發送帖子後)。
我也用這個嘗試:
<script type='text/javascript'>
var iframe = document.getElementsByName("uploader");
alert(iframe.toString());
iframe.onload = iframe.onreadystatechange = function(){
if(this.readyState && this.readyState !== "complete" && this.readyState !== "loaded")
{
alert("Not loaded");
}
alert("Local iframe is now loaded");
}
</script>
而且這樣的:
if (iframe.attachEvent){
iframe.attachEvent("onload", function(){
alert("Local iframe is now loaded.");
});
} else {
iframe.onload = function(){
alert("Local iframe is now loaded.");
};
}
但近兩年在任何瀏覽器中沒有工作。如何將onload
事件附加到IE9?
謝謝。
謝謝,我已經試過了,但遺憾的是它不工作。我得到'不能調用未定義的方法'toString'。這是爲什麼 ? – 2012-07-08 09:10:48
我的錯誤,它的工作,我把腳本錯誤地放在iframe標籤之前。現在,把它放在html結尾後,它就是識別iframe。 – 2012-07-08 09:18:08