• Jobs
  • About Us
  • professionals
    • Home
    • Jobs
    • Courses and challenges
    • Questions
    • Teachers
  • business
    • Home
    • Post vacancy
    • Our process
    • Pricing
    • Assessments
    • Payroll
    • Blog
    • Sales
    • Salary Calculator

0

181
Views
¿Cómo saber si una ventana se cerró usando javascript desde otra ventana/pestaña?

Tengo una ventana example.com/welcome.php . Usando window.open(abcd.php,"mywindow","...") abro abcd.php en una nueva ventana.

Usando window.close() de abcd.php . Cierro abcd.php . ¿Cómo puedo desencadenar alguna acción en welcome.php cuando se cierra abcd.php

almost 3 years ago · Juan Pablo Isaza
1 answers
Answer question

0

Puede usar el evento onunload adjunto a la ventana abierta;

 var w = open('stackoverflow.com'); w.onunload = (ev) => { console.log('unload', ev); }; //w.close();

Actualizar

Configure la unload incluso dentro del evento de load para evitar unload innecesarias en la ventana abierta, lo que me sucedió al menos en Chrome.

 var w = open('https://stackoverflow.com/users/8424614/unnamedxaer'); w.onload = () => { w.onunload = (ev) => { console.log('unload', ev); }; };

Actualización 2

Las direcciones URL deben estar en el mismo dominio para funcionar; de lo contrario, obtendrá un error al intentar adjuntar un evento a la ventana abierta ( w ) (configure el depurador en la línea con onunload ), también deben ser servidos desde el mismo tipo de servidor: no se accede a archivos similares cuando la URL en el navegador se ve así c:/my-site/welcome.php .

Aquí hay un ejemplo de trabajo . Abra la consola de CodeSandbox ubicada en la parte inferior de la ventana debajo de la sección del navegador para ver el resultado.

almost 3 years ago · Juan Pablo Isaza Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Our process Sales
Legal
Terms and conditions Privacy policy
© 2025 PeakU Inc. All Rights Reserved.

Andres GPT

Recommend me some offers
I have an error