The other answers are outdated. The behavior of Chrome for window.open depends on where it is called from. See also this topic.

When window.open is called from a handler that was triggered though a user action (e.g. onclick event), it will behave similar as <a target="_blank">, which by default opens in a new tab. However if window.open is called elsewhere, Chrome ignores other arguments and always opens a new window with a non-editable address bar.

This looks like some kind of security measure, although the rationale behind it is not completely clear.

Answer from Jeroen Ooms on Stack Overflow
🌐
Google Groups
groups.google.com › g › google-web-toolkit › c › I40UtQ2IukU
Window.open not working on Chrome 5 ( GWT 2.0.4 )
Whoops... apparently Chrome's pop-up blocker was kicking in :/ ... Either email addresses are anonymous for this group or you need the view member email addresses permission to view the original message ... That's correct. You only ever want to open a window as a direct result of a user action (onClick, keypress, etc) otherwise you may run afoul of any popup blocker. This means that you cannot open a window in a callback. That is asynchronous that is not a direct result of a user action.
🌐
MDN Web Docs
developer.mozilla.org › en-US › docs › Web › API › Window › open
Window: open() method - Web APIs | MDN
This feature is not Baseline because it does not work in some of the most widely-used browsers. * Some parts of this feature may have varying levels of support. ... The open() method of the Window interface loads a specified resource into a new or existing browsing context (that is, a tab, a window, or an iframe) under a specified name.
🌐
SitePoint
sitepoint.com › javascript
Window.open() not work in Google Chrome
August 23, 2010 - Hi Friends, I am really tired with Chrome , one of my window.open() Stuff work fine in FF and Opera in Fedora O.S. But Chrome Did not , my code is like: and it call in another JavaScri...
🌐
GitHub
github.com › OfficeDev › office-js › issues › 1548
window.open creates Pop-up warning in Chrome BUT still opens window · Issue #1548 · OfficeDev/office-js
December 11, 2020 - Expected Behavior Clicking on a button that executes a function that should open a new window via window.open(...) opens a new tab with no pop-up warnings. Current Behavior Clicking on a button tha...
Author   eneoli
Find elsewhere
🌐
GitHub
github.com › chromiumembedded › cef › issues › 3785
[Chrome Runtime] Impossible to use window.open during page load · Issue #3785 · chromiumembedded/cef
June 12, 2024 - The same behaviour of the ALLOY Runtime, the open.window work on the first call and enter in the OnBeforePopup method... Versions (please complete the following information): ... No problem with Chrome.
Author   max3163
🌐
Vivaldi
forum.vivaldi.net › topic › 1552 › window-open-doesn-t-work-properly
Window.open(); doesn't work properly | Vivaldi Forum
March 7, 2015 - This is the official excuse Chrome used when they removed modal windows and these are the excuses I hear stated here and elsewhere. Now let me tell you why simulating modal popups with HTML DIV content overlays over an existing page is not quite the answer we're looking for. Sure Gmail, Facebook, and YouTube are web apps in the most basic possible sense.
🌐
Google Support
support.google.com › chrome › thread › 68466857 › can-not-open-a-website-in-a-new-dedicated-window-anymore
Can not open a website in a new dedicated window anymore - Google Chrome Community
Google Chrome Help · Sign in · Google Help · Help Center · Community · Google Chrome · Privacy Policy · Terms of Service · Submit feedback · Send feedback on... This help content & information · General Help Center experience · Next · Help Center ·
🌐
Quora
quora.com › Why-does-Window-open-not-work-on-iPad-Chrome
Why does Window.open not work on iPad Chrome? - Quora
Answer (1 of 2): The thing you have to ask yourself is: What does it do? It opens a new window (instance) of a browser and shows it to you. Now think about the iPad, It works with apps, where the browser is one of them. When asking to open a new window, you are basically asking the iPad to open ...
🌐
Google Groups
groups.google.com › a › chromium.org › g › chromium-bugs › c › oHtZDAKp1EU
Re: Issue 137681 in chromium: Window.open() disregards "left" parameter when Chrome is on second monitor
This bug is that if you do add window.screenX, it does not work in chrome - the popup window position always gets restricted to the screen that the root window is on. E.g. what you are describing does not work (in chrome). In addition, we have found a further problem. We have a multi-window app and from a popup window you can open another popup window.
🌐
Reddit
reddit.com › r/learnjavascript › my browser is blocking my userscript's window.open()
r/learnjavascript on Reddit: My browser is blocking my userscript's window.open()
May 31, 2023 -

I am trying to create a temporary fix for this highly-annoying bug:

https://www.reddit.com/r/help/comments/13o7yif/why_does_reddit_open_image_links_in_their/

The solution to bust the proprietary image viewer is to open the image URL in a new tab and then close the current tab:

//Check to see if the image is being loaded in Reddit's proprietary image viewer. If the element exists, open the URL in a new tab and then close the current.
let elImg = document.querySelector("img.object-contain");
if (elImg) {
    window.open(elImg.src,"_blank");
    window.close();
}

This works great when executed in the dev console directly, but Brave blocks it as a pop-up when it's executed by my Tampermonkey userscript. Is there a way to somehow trust the userscript source? Or perhaps there is another way to open a URL in a new tab without being blocked?

Update: While not an ideal solution, this does work:

let elImg = document.querySelector("img.object-contain");
if (elImg) {
    elImg.addEventListener("click", function() {
        window.open(this.src,"_blank");
        window.close();        
    });
}

It turns out that pop-ups are blocked when not executed by a user action. If I invoke the code by adding a click event to the element, it will work. However, I am still looking for a way to execute the code when the page loads.

🌐
Stack Overflow
stackoverflow.com › questions › tagged › window.open
Newest 'window.open' Questions - Stack Overflow
We’re working on an Outlook add-in and need some advice. The issue is about opening our web app in an external browser window from the "Home" button in the Outlook app. We tried Method ... ... I'm using the following code to open a window if it doesn't exist, or focus it if it does. The issue I have is this opens a popup window, not a new tab in the browser.
🌐
SitePoint
sitepoint.com › javascript
Having trouble with window.open and _self
October 7, 2008 - if I do this: window.open(url_var,‘_self’); it works in IE but not in FF or chrome. but this: window.open(url_var); works in all 3 but opens a new window…I want to stay in the same window. Can I get a clue? THanks…