多次调用 window.open() 第一次后失败

DSh*_*ltz 6 javascript google-chrome

我有一个脚本可以循环访问多个网址并在新选项卡中打开它们。以前可以用,但现在只能打开第一个。甚至有一个 w3schools 测试编辑器据说可以打开多个窗口,但在第一个窗口之后它也失败了:

https://www.w3schools.com/jsref/tryit.asp?filename=tryjsref_win_open6

但是,如果我在调试模式下单步执行并将焦点每次重置到原始选项卡,它确实会打开每个窗口。所以我的问题是,如何打开多个窗口(选项卡),但使用原始脚本将焦点保持在我的窗口上?它曾经是这样做的,但现在,一旦添加新选项卡,它就会获得焦点,并且脚本停止打开窗口。这是完整的 w3schools 失败脚本:

<!DOCTYPE html>
<html>
<body>

<p>Click the button to open multiple windows.</p>

<button onclick="myFunction()">Open Windows</button>

<script>
function myFunction() {
    window.open("http://www.google.com/");
    window.open("https://www.w3schools.com/");
}
</script>

</body>
</html>
Run Code Online (Sandbox Code Playgroud)

Adi*_*ave 1

我认为正如 @Daniel Sharp 所说,chrome 中有一个安全功能。在 FF 和 IE 中运行良好。

如果我按照以下步骤操作,它会起作用:

  1. 单击“打开窗口”(将打开一个新窗口
  2. 单击初始浏览器选项卡
  3. 单击页面上的某个位置(“打开 Windows”按钮除外
  4. 再次单击“打开窗口”(这次可以正常工作 - 打开了两个窗口