The standard popup-blocker logic contained in most browsers these days will block any calls to window.open() that are not the direct result of a user action. Code that is triggered by timers or by any asynchronous callback (like your ajax ready function) will be treated as NOT caused directly by user actions and the new popup window will generally be blocked.

You can verify this is what is happening by temporarily changing your browser's popup blocking (turning it off) and see that it then starts working.

Probably what you need to do as a work-around is to create the window upon the user action that started this thread of code and then put the content into the window when you get your ajax response. The browser will probably allow that. I know that's less desirable from a visual perspective, but you can put some temporary content in the window until the ajax response comes in (something like "loading...").

Answer from jfriend00 on Stack Overflow
🌐
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.
🌐
freeCodeCamp
forum.freecodecamp.org › javascript
Window.open not working for me - JavaScript - The freeCodeCamp Forum
August 7, 2018 - I am trying to render a new webpage per value of the input type number but I have not gotten it. HTML JAVASCRIPT/JQUERY $("#start").click(function(){ if($("#year").val()===2018) { window.open(...
🌐
Vivaldi
forum.vivaldi.net › topic › 1552 › window-open-doesn-t-work-properly
Window.open(); doesn't work properly | Vivaldi Forum
March 7, 2015 - More options and freedom is always best, but it must be understood by users and all alike that this is a perversion of the function's intent, and opening in tabs should not be the default and definitely not the only option as it stands now. The default should be open in new window as the ECMA spec indicates. Afterall the Javascript function is called "window.open()" not "tab.open()".
🌐
SeaTable Forum
forum.seatable.com › user talk
Javascript Window Open not working - User Talk - SeaTable Forum
May 15, 2021 - Hi guys, I’m using self-hosted 2.0 version. A few days ago I’ve made a button column and attached to a script that takes a url string and call window.open(url). It was working during my tests, but now I’m getting error: TypeError: Cannot read property ‘open’ of undefined at Proxy.main ...
🌐
Google Groups
groups.google.com › g › google-web-toolkit › c › I40UtQ2IukU
Window.open not working on Chrome 5 ( GWT 2.0.4 )
public void onModuleLoad() { Window.open("http://www.google.com", "_blank", ""); Window.alert("Opened window"); Button btn = new Button("Launch Window!"); btn.addClickHandler( new ClickHandler() { @Override public void onClick(ClickEvent event) { Window.open("http://www.google.com", "_blank", ""); Window.alert("Opened window"); } }); RootPanel.get().add( btn ); } In Chrome, a window is not launched on load, however when the click event occurs, it works fine.
🌐
W3Schools
w3schools.com › jsref › met_win_open.asp
Window open() Method
The open() method opens a new browser window, or a new tab, depending on your browser settings and the parameter values.
🌐
SitePoint
sitepoint.com › javascript
Having trouble with window.open and _self - JavaScript - SitePoint Forums | Web Development & Design Community
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!!
🌐
GitHub
github.com › kuzzleio › kuzzle-sdk-login-oauth-popup › issues › 6
window.open not working as intended · Issue #6 · kuzzleio/kuzzle-sdk-login-oauth-popup
May 5, 2018 - kuzzle-sdk-login-oauth-popup/index.js Line 21 in 1335a1e oauthWindow = window.open(res.headers.Location, 'kuzzleOauthPopup', windowOption); You cannot do window.open in the same call stack as an ajax/ws/async callback. (tested and KO on ...
Author   lethak
Find elsewhere
🌐
GitHub
github.com › tauri-apps › tauri › issues › 1857
javascript: window.open() Don't work · Issue #1857 · tauri-apps/tauri
January 19, 2021 - "vue-cli-plugin-tauri": "~1.0.0-beta.2", "@tauri-apps/cli": "^1.0.0-beta.2", Tauri that I plugged into the Vue project, The @@@'window.open' method is executed in js, but does not work
Published   May 18, 2021
Author   mxismean
🌐
SitePoint
sitepoint.com › javascript
Window.open() not work in Google Chrome - JavaScript - SitePoint Forums | Web Development & Design Community
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: <script type="text/javascript"> function getpage(id, type){ $…
🌐
Microsoft Learn
learn.microsoft.com › en-us › previous-versions › troubleshoot › browsers › development-website › value-of-windowopen-not-reflected
Call window open() function - Internet Explorer | Microsoft Learn
In this scenario, the specified size, and position are not reflected in the new window. You can follow these steps to reproduce this issue: Save the following HTML code as original.html. <!DOCTYPE html> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"/> <title>window.open - TEST</title> <script type="text/javascript"> function win_open1() { window.open('about:blank','','titlebar=yes,toolbar=yes,location=yes,status=no,menubar=yes,scrollbars=yes,resizable=yes,width=700,Height=300,left=0,top=0'); } </script> </head> <body> <input type="button" name="btn1" value="btn1" onclick="win_open1();" />width=700,Height=300,left=0,top=0<br> </body> </html> Open original.html in Microsoft Edge.
🌐
MDN Web Docs
developer.mozilla.org › en-US › docs › Web › API › Window › opener
Window: opener property - Web APIs | MDN
A Window-like object referring to the window that opened the current window (using window.open(), or by a link with target attribute set). If this window was not opened by being linked to or created by another, returns null.
🌐
PlayCanvas
forum.playcanvas.com › help & support
[SOLVED] Window.open() doesn't work in Safari in iPhone - Help & Support - PlayCanvas Discussion
September 23, 2022 - window.open() doesn’t work in safari in iPhone. “Doesn’t work” means it does not open a window when it is called. Nothing happens. It works in Safari in iPad. It works in Safari in desktop. It works in chrome in anyw…
🌐
Glitch
support.glitch.com › glitch help
Window.open() Not working in Web Developer JS - Glitch Help - Glitch Community Forum
August 13, 2021 - Whenever I try to use a window.open("url") inside of the web development studio, it doesn’t work. I can type it, but inside the actual site, it doesn’t execute at all.