Estoy ejecutando una aplicación y, después de algunas operaciones, termino en la última pestaña (marcada con un círculo negro). Necesito cerrar la pestaña con el círculo rojo porque es un duplicado de la pestaña con el círculo azul. ¿Hay alguna manera de que pueda volver a la pestaña roja y llamar?
window.close()¿en eso? Todas las pestañas se abren solo a través de mi aplicación. ¿Es incluso posible volver a la pestaña? Además, no puedo cerrar la pestaña con un círculo azul porque, aunque la pestaña con un círculo rojo es un duplicado, la pestaña roja está recargando la página y la pestaña azul ya está cargada.
Cualquier ayuda es muy apreciada. Gracias.
Puede comunicarse entre las pestañas usando localStorage (en realidad, podría haber incluso una API mejor para este BroadcastChannel ). De todos modos, este es un boceto de una solución que está abierta para algunos errores, pero si te gusta, se puede mejorar.
<h2>page 1</h2> <button onclick="close_others();">close others</button> <script> window.id = Math.random(); var key = "close-but-me" function close_others() { localStorage.setItem(key, window.id); window.setTimeout(function() { localStorage.removeItem(key); }, 2000) } setInterval(function() { console.log(localStorage.getItem(key)) if (localStorage.getItem(key) && localStorage.getItem(key)!=window.id) { window.close(); } }, 1000) </script> <h2>page 2 - SAME code</h2> <button onclick="close_others();">close others</button> <script> window.id = Math.random(); var key = "close-but-me" function close_others() { localStorage.setItem(key, window.id); window.setTimeout(function() { localStorage.removeItem(key); }, 2000) } setInterval(function() { console.log(localStorage.getItem(key)) if (localStorage.getItem(key) && localStorage.getItem(key)!=window.id) { window.close(); } }, 1000) </script>