chrome标签/窗口中的window.open行为

时间:2013-05-25 13:14:06

标签: javascript google-chrome window.open

我有一小部分用于打开两个或更多标签的JavaScript。这在FF和IE中工作正常,但chrome在新窗口中打开第二个而不是tab。它不依赖于url,因为我用两个相同的url尝试了它。首先在选项卡中打开,第二个在新窗口中打开。

这是我的代码段:

for(var i=0 ; i<sites.length ;i++)
{
    window.open(sites[i].Url);
}

2 个答案:

答案 0 :(得分:12)

只有在用户生成的操作时,Chrome才会自动在新标签页中打开网址,每个用户操作仅限一个标签。在任何其他情况下,URL将在新窗口中打开(BTW,默认情况下在Chrome上被阻止) 必须在回调中调用 window.open ,该回调由用户操作(例如onclick)触发,以便在新选项卡而不是窗口中打开页面。

在您的示例中,您尝试在用户操作时打开N个标签。但只有第一个在新标签中打开(因为它是用户生成的动作)。之后,任何其他URL都将在新窗口中打开。

类似的问题:force window.open() to create new tab in chrome(见maclema的回答)

答案 1 :(得分:0)

我遇到了这个问题 What is the (function() { } )() construct in JavaScript?给出了对IIFE的解释。我认为这可以用完了。请耐心等待我对javascript的了解不多。但我尝试了如下并且正在努力。

BModel

它会在chrome的新标签页中打开网址。