Estoy abriendo un enlace de nueva pestaña con un elemento. var w = window.open( mailto:example@gmail.com ... , '_blank');
Después de eso compruebo cuando termina de cargar:
if (w != null) { console.log("here"); $(w).on('load',function () { console.log("here2"); } }Sin embargo, nunca se imprime "aquí2", incluso mucho después de que la pestaña terminó de cargarse.
Notas:
También intenté abrir youtube, todavía here2 no se imprimió.
Intenté abrir el enlace localhost (estoy ejecutando esto en un servidor de prueba localhost) y puede detectar cuándo terminó de cargarse mi mismo sitio.
¿Alguien puede ayudar?
Puede consultar esta respuesta si el sitio que desea abrir está en el mismo dominio que su sitio web.
Por otro lado, casi no hay esperanza si hay un sitio que no tiene el mismo contenido de origen, ya que obtendrá el mismo error de origen .
Si tiene permiso para agregar código a un sitio "sin el mismo origen" (B), entonces puede enviar una señal a su sitio original (A) de alguna manera (por ejemplo, envíe una señal desde B al servidor y luego envíe la señal volver a A).