Esta es una pregunta muy general. Lamentablemente, no puedo proporcionarle ningún ejemplo de código que pueda ayudar a arrojar algo de luz sobre este problema en particular.
Tengo un script bastante complejo que funciona con objetos de ventana (ventana principal o ventana de iframes). Los almaceno en variables y trabajo con ellos más tarde.
Este script tiene un mecanismo de registro de errores. Intenta detectar todos los errores posibles ( rechazo no controlado y eventos de error ) y los envía a través de la API de baliza al servicio de back-end.
Funciona bien para la mayoría de los usuarios, pero a veces puedo ver este tipo de registros.
currentWindow.removeListener is not a function element instanceof currentWindow.HTMLElement - the right-hand side of 'instanceof' is not an object currentWindow es solo una variable que almaceno cuando se carga el script. ( const currentWindow = window ). Estoy bastante seguro de que el usuario no modifica el objeto de la ventana de ninguna manera y que la variable de la ventana que almaceno no se sobrescribe.
Para mí, parece que las propiedades de la ventana se están borrando. Sospecho que sucede cuando la pestaña está (forzada) cerrada. Intenté muchas cosas para replicar: aceleración de la CPU, forzar el cierre de Chrome, etc. Literalmente, no tengo ni idea de por qué sucede y no puedo encontrar ninguna información relacionada aquí o en Google.
También debo señalar que no es un problema con los navegadores antiguos. Ocurre en la versión más reciente de Chrome y Firefox.