¿Cómo verificar el estado y/o esperar hasta una conexión exitosa de una window.open() ? (O sugerir mejores alternativas)
var url = 'https://www.google.com'; var newWindow = window.open(url, 'main'); if(newWindow == 'success'){ //url was successfully opened ... } else { //url returned 404 ... }Como se indica en la página Window.open() de MDN:
Valor de retorno
Un objeto
WindowProxy, que es básicamente un envoltorio delgado para el objetoWindowque representa la ventana recién creada, y tiene todas sus funciones disponibles. Si no se pudo abrir la ventana, el valor devuelto esnull.
Por lo tanto, basta con verificar null :
var url = 'https://www.google.com'; var newWindow = window.open(url, 'main'); if (newWindow == null) { // Failed } else { // Success }Sin embargo, una ventana que se abre con éxito no le brinda información sobre el estado de respuesta HTTP de la URL cargada en esa ventana.