window.open behaviour in chrome tabs/windows

I have a small bit of javascript intended to open two or more tabs. This works fine in FF and IE, but chrome opens the second one in a new window instead of tab. It isn’t dependant on the url as I’ve tried it with two identical url’s. First opens in tab, second one in new window.

Here’s my code snippet:

  • Run javascript in an “isolated world” (chrome)
  • JavaScript: use defineProperty accessor on an array's .length?
  • Best way to protect POSTED data over http?
  • How do I restrict chrome greasemonkey scripts to a single webpage, or just certain webpages?
  • Close a Chrome extension popup by clicking the browser action icon again
  • how to store variable in background page
  • for(var i=0 ; i<sites.length ;i++)
    {
        window.open(sites[i].Url);
    }
    

  • Inspect Element for Chrome Extension?
  • JavaScript open in a new tab, not window in Chrome browser
  • Why does web worker performance sharply decline after 30 seconds?
  • How to add “open link in app mode” to right-click menu in chrome?
  • Unsafe JavaScript attempt to access frame with URL
  • Stop Chrome Caching My JS Files
  • One Solution collect form web for “window.open behaviour in chrome tabs/windows”

    Chrome automatically opens a URL in a new tab only if it’s user generated action, limited to one tab per user action. In any other case, the URL will be opened in a new window (which, BTW, is blocked by default on Chrome).
    window.open must be called within a callback which is triggered by a user action (e.g. onclick) for the page to open in a new tab instead of a window.

    In your example, you attempt to open N tabs upon user action. But only the first one is opened in a new tab (because it’s a user generated action). Following that, any other URL will be opened in a new window.

    Similar question: force window.open() to create new tab in chrome (see answer by maclema)