我一直在使用Chrome编写我的第一个Web应用程序(由于内置了完善的Inspect工具),直到在IE11中进行测试之前,一切都很好。
基本上,它是用于上传文件的表单和iframe(但在代码段中,我只是专注于通过消除所有内容来最小化行为的再现)。
该行为是在Chrome中,我单击“提交”,该表单触发iframe onload事件并运行一些代码。在IE11中,页面加载时会触发onload,并且单击“提交”按钮时,会触发两次。
似乎我应该使用其他事件处理程序,但不确定要捕获什么。我尝试了onsubmit,但是它什么也没做。
来自html块的代码:
<form enctype = "multipart/form-data" target="upload-iframe">
<input type = "submit" />
</form>
<iframe name="upload-iframe" id="myFrame" hidden="hidden"></iframe>
<script type="text/javascript">
var iframe = document.getElementById('myFrame');
iframe.onload = function() {
alert("I'm doing something");
}
</script>
谢谢!
答案 0 :(得分:0)
我玩了一下,最终发现将onload块包装到jQuery $(document).ready(function(){...})中;为了将其延迟到页面加载之后,它会处理页面加载时的加载事件触发问题以及双触发问题。