В случае, если вы разработчик расширений и попытались прекратить поиск этой ошибки, вы попытались перестать вызывать эту ошибку:
Проблема не в CORB, поскольку заблокированные COR проявляются в виде предупреждений например -
Блокировка перекрестного происхождения (CORB) заблокировала ответ перекрестного происхождения
https://www.example.com/example.html с текстом MIME / html. Увидеть
https://www.chromestatus.com/feature/5629709824032768 для более
подробности.
Скорее всего, проблема заключается в неправильном асинхронном ответе на runtime.sendMessage. Как MDN говорит :
Чтобы отправить асинхронный ответ, есть две опции:
- вернуть true из прослушивателя событий. Это сохраняет sendResponse
функция действительна после возврата слушателя, поэтому вы можете вызвать ее позже.
- вернуть Promise от слушателя события и решить
когда у вас есть ответ (или отклонить его в случае ошибки).
Когда вы отправляете асинхронный ответ, но не используете ни один из этих механизмов, предоставленный sendResponse
аргумент sendMessage
выходит за пределы области, и результат в точности соответствует сообщению об ошибке: ваш порт сообщения (сообщение- передающий аппарат) закрывается до получения ответа.
Авторы Webextension-polyfill уже написали об этом в июне 2018 .
Итак, если вы видите, что ваше расширение вызывает эти ошибки - внимательно осмотрите всех слушателей onMessage. Некоторые из них, вероятно, должны начать возвращать обещания (достаточно пометить их как асинхронные).