window.open 无法打开两个以上的链接

Sau*_*ena 5 html javascript jquery google-chrome google-chrome-extension

根据我的要求,我需要创建一个 Google Chrome 扩展程序,只需在单个 Chrome 窗口的不同选项卡中单击一次即可打开多个链接(25 个以上)。该代码在 Chrome 18 之前一直工作正常。现在,我使用的是 chrome 24,该代码停止工作。我只是将所有链接存储在一个数组中,并使用 for 循环打开它们,如下所示:

  for(var i = 0; i<links.length; i++)
  {
    var tablink = links[i];
    if(links[i] != "")
    {
            tablink = *"somedomain"* + tablink;
        setTimeout(window.open(tablink), 500);  
    }
  }  
Run Code Online (Sandbox Code Playgroud)

结果,只有两个链接在选项卡中打开,其余链接将在不同的 Chrome 窗口中打开。我应该怎么做才能克服这个问题?

编辑#1

在我的清单文件中

"content_scripts": [
    {
      "matches": ["http://*/*", "https://*/*"],
      "js": ["script.js", "jquery.js", "dialog.js"]
    }
  ],


"permissions": [
    "tabs", "http://*/*", "https://*/*"
  ],
Run Code Online (Sandbox Code Playgroud)

首先给出的代码在dialog.js中

Sau*_*ena -2

找到解决方案了,尝试一下吧:)

我刚刚删除了 setTimeout 函数并且它有效。我仍然不明白为什么它导致了这个问题。

for(var i = 0; i<links.length; i++)
  {
    var tablink = links[i];
    if(links[i] != "")
    {
            tablink = *"somedomain"* + tablink;
        window.open(tablink);  
    }
  }  
Run Code Online (Sandbox Code Playgroud)