Chrome和IE11中的iframe onload

时间:2019-04-02 14:03:56

标签: html forms iframe internet-explorer-11

我一直在使用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>

谢谢!

1 个答案:

答案 0 :(得分:0)

我玩了一下,最终发现将onload块包装到jQuery $(document).ready(function(){...})中;为了将其延迟到页面加载之后,它会处理页面加载时的加载事件触发问题以及双触发问题。