gpt4 book ai didi

javascript - IE9 和 Iframe onload 事件

转载 作者:行者123 更新时间:2023-11-28 09:48:48 28 4
gpt4 key购买 nike

在我的网站中,我有一个表单,允许用户将图像或视频发布到 Facebook。因为我需要将文件直接发布到 Facebook,所以我使用了发布到 Iframe 的表单(为了防止在发送帖子后将用户重定向到 Facebook 帖子网址)。

在发送帖子时(需要注意的是,该帖子被发送到 Facebook 域而不是我自己的域),我向用户显示一条等待消息,当帖子完成时,我使用 iframe onload 事件来隐藏消息。

这是代码:

iframe:

<iframe name="uploader" width=2px height=2px style="visibility: hidden" onLoad="locationChange(this)"></iframe>

加载 iframe 时隐藏消息的 JavaScript:

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 ?

谢谢。

最佳答案

getElementsByName 返回元素数组。

这样写

var iframe = document.getElementsByName("uploader")[0];

而不是

var iframe = document.getElementsByName("uploader");

关于javascript - IE9 和 Iframe onload 事件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11381541/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com