Chrome 切换选项卡时浏览器无法处理警告框

7kjnsjlb  于 2022-12-06  发布在  Go
关注(0)|答案(1)|浏览(176)

据我所知,alert(message)会显示一个带有消息的警告框和一个OK按钮,并且它会停止执行警告功能后的代码,直到单击OK按钮。但有一种情况,如果我在一个页面和另一个页面之间切换标签页,警告后的代码会被执行,警告框仍然存在。这是一个bug还是设计的?
我已经测试过Firefox和IE浏览器,没有这个问题,但是Chrome和Edge的工作原理是一样的。顺便说一下,如果开发者工具是开放的,行为会有所不同。
示例如下:
当单击button1并显示警告框时,只需切换到另一个选项卡并再次返回,button2的值将变为“123”,警告框仍在。

<html>
   <head>
      <script type = "text/javascript">
            function fun() {
               alert (" Hello World \n This is an alert dialog box ");
               document.getElementById("test").setAttribute("value", 123);
            }
            function fun2() {
               document.getElementById("test").setAttribute("value", "Test");
            }
      </script>
   </head>

   <body>
      <p> Click the following button to see the effect </p>
      <form>
         <input type = "button" name="button1" value = "Click me" onclick = "fun();" />
         <input type = "button" name="button2" id="test" value = "Test" onclick = "fun2()" />
      </form>
   </body>
</html>
2eafrhcq

2eafrhcq1#

好吧,我不得不说这是设计的,为了不阻碍脚本的执行。这里有一个设计文档供您参考。它说:
但是,如果用户切换到另一个选项卡,将该选项卡移到后台,使其不再位于最前面,我们将关闭该对话框。

相关问题