如果条件在javascript中不起作用,则window.open()在多个内部

时间:2012-06-26 19:25:45

标签: javascript window.open

我的javascript代码是这样的:

function openWindows() {

    if(A is true) {
      window.open(URL_A);
    }

    if(B is true) {
      window.open(URL_B);
    }

    and so on...

}

调用我的函数时,所有条件都为真,随机没有。打开窗户。有时候,所有这些都是打开的,但它是随机发生的。可能是什么问题?我丢失了父窗口引用吗?为什么这会随机发生?

2 个答案:

答案 0 :(得分:2)

对我来说很好。

你确定你的弹出窗口拦截器没有阻止它们吗?许多浏览器不允许您在没有单击事件的情况下触发新窗口,或者浏览器会停止它们。此外,浏览器通常允许每个点击事件一个窗口。

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个窗口)

答案 1 :(得分:2)

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


  

调用我的函数时,所有条件都为真,随机没有。打开窗户。有时候,所有这些都是打开的,但它是随机发生的。可能是什么问题?

无法回答更多信息。

  

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

无法回答更多信息。


您的问题很有意思,但伪代码应该有效,前提是以下评估有效值:

  • A is true
  • B is true

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

  • URL_A
  • URL_B