【问题标题】:setTimeout does not work as expected on IE11 [duplicate]setTimeout 在 IE11 上无法按预期工作 [重复]
【发布时间】:2017-06-29 14:15:16
【问题描述】:

我有以下网页:

<html>
<head>
</head>
<body>
<h1>Wait until closed</h1>
<script>

function wait(popup){
      if (!popup.closed){
        setTimeout(wait,1000,popup);
      } else {
        alert('closed');
      } 
    }

var popup = window.open("http://www.google.com", '', 'directories=no,titlebar=no,toolbar=no,location=no,status=no,menubar=no,scrollbars=yes, width=1000 , height=800, top=' + screen.top + ', left=' + screen.left);

wait(popup); 

</script>
</body>
</html>

当我使用 Chrome 或 Firefox 打开它时,我在关闭弹出窗口后看到消息“关闭”。然而在 IE11 中什么也没有发生。这种行为差异的解释是什么? (即,IE11 标准的哪一部分不遵守,或者在这种情况下有不同的解释,如果有的话?)

编辑:阅读建议的答案,我尝试将setTimeout(wait,1000,popup) 更改为setTimeout(function() {wait(popup);},1000),如下所示:

<html>
<head>
</head>
<body>
<h1>Wait until closed</h1>
<script>

function wait(popup){
      if (!popup.closed){
        setTimeout( function() {
            wait(popup);
        }, 1000 );
      } else {
        alert('closed');
      } 
    }

var popup = window.open("http://www.google.com", '', 'directories=no,titlebar=no,toolbar=no,location=no,status=no,menubar=no,scrollbars=yes, width=1000 , height=800, top=' + screen.top + ', left=' + screen.left);

wait(popup); 

</script>
</body>
</html>

但这也不起作用。

编辑: cmets 表明这是重复的,但由于尝试根据建议的答案更改代码直到现在对我不起作用,我通过要求更改上面的代码,以便它在 IE11 中工作(希望 SO 规则允许这样做)。显示的代码不起作用。

【问题讨论】:

  • 我好糊涂,现在已经解决了吗?
  • @Huangism 不,我尝试遵循建议,但目前这些对我不起作用。
  • @user7408846 您的 EDIT 部分表明现在可以在 IE11 中使用,不是这样吗?
  • @Huangism 我改了问题的结尾,希望现在更清楚了。
  • @user7408846 我的机器上没有 IE11,但我建议您逐步检查一下到底是什么不工作

标签: javascript internet-explorer asynchronous


【解决方案1】:

这个有点困扰我,所以我在本地文件中尝试了它并得到了相同的行为。 window.open 在 IE 和 Edge 中都返回 null。显然,如果启用了保护模式,window.open 将在 IE 和 Edge 中返回 null。

https://msdn.microsoft.com/en-us/library/Bb250462.aspx

我不确定如何解决它。也许是一个可关闭的框架?

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2023-04-07
    • 2021-09-12
    • 2020-04-23
    • 2013-07-27
    • 1970-01-01
    • 1970-01-01
    • 2020-04-10
    • 1970-01-01
    相关资源
    最近更新 更多