Window.open() 在 Multiple if 条件中不起作用

window.open() inside multiple if conditions doesn't work in javascript

本文关键字:if 条件 不起作用 Multiple open Window      更新时间:2023-09-26

我的javascript代码是这样的:

function openWindows() {
    if(A is true) {
      window.open(URL_A);
    }
    if(B is true) {
      window.open(URL_B);
    }
    and so on...
}

当我的函数被调用时,在所有条件为真的情况下,随机打开的窗口。有时,它们都打开了,但它是随机发生的。可能是什么问题?我是否丢失了父窗口引用?为什么这是随机发生的?

对我来说

效果很好。

您确定您的弹出窗口阻止程序没有阻止它们吗?许多浏览器不允许您在没有单击事件的情况下触发新窗口,否则浏览器将停止它们。 此外,浏览器通常允许每次单击事件一个窗口。

if(true) {
    window.open('http://www.google.com');
}
if(true) {
      window.open('http://www.google.com');
}
if(true) {
    window.open('http://www.google.com');
}
if(true) {
      window.open('http://www.google.com');
}
​

http://jsfiddle.net/2LJtv/( 警告准备 4 个窗口打开)

is trueand so on...不是合法的JavaScript代码。


当我的函数被调用时,在所有条件为真的情况下,随机打开的窗口。有时,它们都打开了,但它是随机发生的。可能是什么问题?

无法回答没有更多信息。

我是否丢失了父窗口引用?为什么这是随机发生的?

无法回答没有更多信息。


您的问题很有趣,但伪代码应该可以工作,前提是以下评估值为有效值:

  • A is true
  • B is true

以下是包含有效值的有效变量:

  • URL_A
  • URL_B