【发布时间】:2019-01-31 03:15:30
【问题描述】:
我有一个脚本可以遍历多个 url 并在新选项卡中打开它们。它曾经工作,但现在只打开第一个。甚至还有一个据说可以打开多个窗口的 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>
【问题讨论】:
-
不要省略“窗口名称”参数,使用例如“_blank”作为名称,或者为每个窗口指定一个唯一的名称。
-
我相信 chrome 有一项安全功能,每个 window.open 至少需要一个用户操作,我可能错了。
-
Firefox 为我打开了两个窗口; Chrome 和 Safari 只打开了第一个。 Chrome 还显示“弹出窗口被阻止”消息,允许我禁用该安全功能; @FZs 你可能已经禁用它了吗?
-
@DanielBeck 是的,我检查过了,它已启用。当我禁用它们时,只有Google 打开...
-
@FZs 是的,“启用”表示您已启用弹出窗口,即禁用安全功能(阻止弹出窗口)。 Chrome 的用户界面令人困惑,那里......