Saltar al contenido

¿Cómo solucionar el problema de Chrome ‘Unchecked runtime.lastError: El puerto de mensajes se cerró antes de recibir una respuesta’?

Solución:

Inhabilité todas las extensiones instaladas en Chrome, funciona para mí. Ahora tengo la consola clara sin errores.

En caso de que sea un desarrollador de extensiones que buscó en Google su camino aquí tratando de dejar de causar este error:

El problema no es CORB (como dice otra respuesta aquí), ya que los COR bloqueados se manifiestan como advertencias como:

El bloqueo de lectura de origen cruzado (CORB) bloqueó la respuesta de origen cruzado https://www.example.com/example.html con texto de tipo MIME / html. Consulte https://www.chromestatus.com/feature/5629709824032768 para obtener más detalles.

Lo más probable es que el problema sea una respuesta asincrónica mal manejada a runtime.sendMessage. Como dice MDN:

Para enviar una respuesta asincrónica, hay dos opciones:

  • devuelve verdadero desde el detector de eventos. Esto mantiene la función sendResponse válida después de que regrese el oyente, por lo que puede llamarla más tarde.
  • devolver una Promesa del detector de eventos y resolver cuando tenga la respuesta (o rechazarla en caso de error).

Cuando envía una respuesta asincrónica pero no utiliza ninguno de estos mecanismos, el sendResponse argumento para sendMessage sale del alcance y el resultado es exactamente como dice el mensaje de error: su puerto de mensajes (el aparato de paso de mensajes) se cierra antes de que se reciba la respuesta.

Los autores de Webextension-polyfill ya escribieron al respecto en junio de 2018.

Entonces, en resumen, si ve que su extensión está causando estos errores, inspeccione de cerca a todos sus oyentes de onMessage. Algunos de ellos probablemente necesiten comenzar a devolver promesas. (marcarlos como asíncronos debería ser suficiente). [Thanks @vdegenne]

Si va a chrome: // extensions /, puede alternar cada extensión de una en una y ver cuál está realmente desencadenando el problema.

Una vez que desactive la extensión, actualice la página donde está viendo el error y mueva el mouse o haga clic. Las acciones del mouse son las cosas que arrojan errores.

Así que pude identificar qué extensión realmente estaba causando el problema y deshabilitarla.

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)



Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *