Unchecked runtime lasterror could not establish connection receiving end does not exist что это
Я разрабатываю расширение в Chrome, и тут возникла проблема. В моем inject.js я делаю запрос типа:
и в моем `background.js я просто добавляю слушатель запроса, например:
Но тут есть ошибка:
Ошибка порта: не удалось установить соединение. Приемный конец не существует
Кажется, это ошибка в chrome? PS:
часть моего manifest.json
Я нахожусь в Chromium 17, и я попытался перезагрузить расширение, снова открыть браузер. ничего не произошло , у кого-то
есть какие-то идеи?
Я знаю, что этот вопрос неоднократно задавался по-разному, но я попытался пройти через все ответы (надеюсь, я никого не пропустил), и ни один из них не сработал для меня. Вот код моего расширения: манифест : < name: test, version: 1.1, background: < scripts: [contextMenus.js] >, permissions.
Это не всегда является причиной, но если у вас есть ошибка в background.js , вы должны проверить эту ссылку:
на странице Расширений, которая покажет вам любые ошибки JavaScript.
Это мешало моим связям установиться.
Проблема может заключаться в том, что sendRequest() и onRequest устарели и заменены на sendMessage() и onMessage . После недавнего обновления Chrome 20 они, похоже, полностью исчезли.
Я обнаружил, что у меня та же проблема, которую вы описываете здесь. Решение, которое я нашел, которое работает для меня, - это использовать фоновую страницу вместо фонового сценария, например:
Я надеюсь, что это сработает и для вас.
Поскольку мы установили его как var , другой скрипт теперь может напрямую получить доступ к этому значению
В основном я пытаюсь выполнить код, найденный в документации расширения Chrome. И вот тут-то я и застрял. Я пытаюсь передать значения из content script > > background page (для XHR). И ошибка, которую я получаю в консоли, такова : Ошибка порта: не удалось установить соединение. Принимающий конец.
Фоновая страница HTML не работала для меня в Chrome 20.0.1132.57 m на Windows 7 с той же ошибкой:
Я попытался использовать скрипт background.js со следующим содержимым:
Это решило проблему onDisconnect в моем сценарии контента:
Пример также содержит вторую часть , которая служит бэкэндом для sendRequest , но я не тестировал ее сам:
Столкнувшись с той же проблемой сейчас.
//Here-это мой бывший background.js :
Теперь это хорошо работает. Надеюсь быть полезным.
эти страницы не позволяют вводить скрипты содержимого, и соединение немедленно отключится .
итак, проверьте url и не подключайте эти вкладки ,тогда исключение не будет выдано
После некоторого времени, потраченного на расследование, я обнаружил проблему в своем случае.
Я также получаю:
Прежде чем объяснить, я хочу сказать, что я использую sendMessage и onMessage для общения.
Кажется, это вполне нормально.
Если я обновлю youtube вкладок после перезагрузки расширения, я не получу этой ошибки.
Я нашел одно решение, оно может применяться не ко всем случаям:
Когда у меня возникла эта проблема, мой код был:
Для моего я не нуждался в обратном вызове ответа, и из-за того, что он не отвечал, у меня была эта ошибка.
Закройте вкладки, оставьте только одну страницу и проверьте. В моем случае это было проблемой.
Для манифеста 2.0 и sendMessage случай его довольно прямолинейный:
Это происходит, если вы пытаетесь использовать sendMessage внутри всплывающего окна, а в конце фонового скрипта нет настройки прослушивателя или прослушиватель каким-то образом был удален.
2. Надеюсь, это поможет.
Если у вас возникла проблема, в основном из-за того, что вы ссылаетесь на устаревший документ, обновите его!
Проблема оказалась в том, что у меня был открыт инспектор фоновых сценариев и я просто нажимал Cmd+R (обновить), но в моем manifest.json была ошибка . Когда я на самом деле зашел на страницу расширений и перезагрузил эту страницу, я получил предупреждение, показывающее явную ошибку.
В принципе, я видел это, потому что мои сценарии контента никогда не загружались в первую очередь, и я думал, что обновляю свой манифест, но это не так.
Похожие вопросы:
При попытке установить связь между моим содержимым и фоновым сценарием я получаю следующие ошибки: Port error: Could not establish connection. Receiving end does not exist. Error in event handler.
Я знаю, что этот вопрос неоднократно задавался по-разному, но я попытался пройти через все ответы (надеюсь, я никого не пропустил), и ни один из них не сработал для меня. Вот код моего расширения.
В основном я пытаюсь выполнить код, найденный в документации расширения Chrome. И вот тут-то я и застрял. Я пытаюсь передать значения из content script > > background page (для XHR). И ошибка.
Я пытаюсь создать очень простое расширение Chrome, которое позволит мне выделить слово на веб-странице, щелкнуть правой кнопкой мыши, чтобы открыть контекстное меню, а затем выполнить поиск в базе.
Я недавно удалил и переустановил Postgres10. Затем я запустил приложение Node/Express/React, которое полагается на соединение с базой данных Postgres (и связь с ней с помощью Sequelize).
Первоначально он не мог подключиться к базе данных. Я понял, что процесс удаления удалил мои старые базы данных, поэтому я пошел и заново создал новую с именем, к которому подключается это приложение. Затем, когда я перезапустил приложение (и сервер, и клиент), интерфейсное взаимодействие с базой данных снова работало как обычно - написание новых пользователей и чтение их для аутентификации и т.д.
Однако теперь у меня появляется следующая ошибка в консоли Chrome Dev Tools при каждой загрузке страницы приложения:
Не проверено runtime.lastError: Не удалось установить соединение. Получающий конец не существует
ОТВЕТЫ
Ответ 1
Я получал точно такую же ошибку (за исключением того, что у моего приложения нет бэкэнда и React-интерфейса), и я обнаружил, что это происходит не из моего приложения, а из-за Chrome "Video Speed Controller" расширение. Если вы не используете это расширение, попробуйте отключить все свои расширения и затем включить их снова по одному?
Ответ 2
Ошибка часто вызвана расширением Chrome. Попробуйте отключить все ваши расширения, проблема должна исчезнуть.
Ответ 3
Решение
У вас есть окно, открытое с ошибкой консоли, откройте второе новое окно.
Во втором окне перейдите по адресу: chrome://extensions
Отключите каждое расширение с помощью переключения (синий ползунок в правом нижнем углу каждой карты) и обновите окно с консолью после переключения каждого расширения.
Если у вас нет ошибки, удалите расширение.
Ответ 4
Удаление хромового расширения "Udacity Frontend Feedback" решило эту проблему для меня.
Ответ 5
Ответ 6
Отключение расширения решило проблему.
Ответ 7
Для меня ошибка была связана с расширением onelogin chrome. Удаление это решило проблему.
Ответ 8
Расширение Cacher в моем случае - но да, отключите каждый, а затем перезагрузите страницу
Я использую VueJS и Laravel для своего проекта. Эта проблема начала проявляться в последнее время, и она проявляется даже в старых ветвях git.
Эта ошибка отображается только в браузере Chrome.
Я отключил все установленные расширения в Chrome-works for me. Теперь у меня есть четкая консоль без ошибок.
Если вы перейдете в chrome: / / extensions/, вы можете просто переключить каждое расширение по одному и посмотреть, какое из них на самом деле вызывает проблему.
Как только вы отключите расширение, обновите страницу, на которой вы видите ошибку, и пошевелите мышью или нажмите кнопку мыши. Действия мыши - это те вещи, которые выбрасывают ошибки.
Таким образом, я смог точно определить, какое расширение на самом деле вызывает проблему, и отключить его.
Для тех, кто приходит сюда, чтобы отладить эту ошибку в Chrome 73, одна из возможностей заключается в том, что Chrome 73 и далее запрещает запросы перекрестного происхождения в скриптах контента.
(это не имеет никакого отношения к вашему коду приложения)
UPDATE : я исправил проблему CORs, но я все еще вижу эту ошибку. Я подозреваю, что здесь виноват хром.
Я уже ответил на этот вопрос .
В моем случае проблема была из-за Video Downloader professional и AdBlock
Короче говоря, эта проблема возникает из-за некоторых плагинов google chrome
Отключите, если в браузере установлено какое-либо антивирусное расширение. В моем случае виновником было расширение антивируса.
В случае, если вы являетесь разработчиком расширения, который гуглил свой путь сюда, пытаясь прекратить вызывать эту ошибку:
Проблема не в CORB, так как заблокированные CORs проявляются в виде предупреждений, таких как -
Эта проблема, скорее всего, является неправильным асинхронным ответом на время выполнения.вызов sendMessage. Как говорит MDN:
- верните значение true из прослушивателя событий. Это сохраняет sendResponse функция действительна после возвращения прослушивателя, поэтому вы можете вызвать ее позже.
- верните обещание от прослушивателя событий и разрешите проблему когда у вас есть ответ (или отклонить его в случае ошибки).
Авторы Webextension-polyfill уже писали об этом в июне 2018 года .
Итак, в конечном итоге, если вы видите, что ваше расширение вызывает эти ошибки - внимательно проверьте все ваши слушатели onMessage. Некоторые из них, вероятно, должны начать возвращать обещания (достаточно отметить их как асинхронные). [Спасибо @vdegenne]
Захожу в тему через firefox 58.0.2 (64-бит) - код не подсвечивается. Оставляю коммент, страничка обновляется - весь код с подсветкой. Исправлений в постах не вижу, в чем дело?
Открой сонсоль браузера (Ctrl+Shift+J) и повтори свои действия, желательно, чтобы кроме ЛОРа ничего больше не было открыто. Возможно, увидишь какую ругань в логах.
Unchecked lastError value: Error: Could not establish connection. Receiving end does not exist.
withLastError resource://gre/modules/ExtensionCommon.jsm:407:9
wrapPromise/< resource://gre/modules/ExtensionCommon.jsm:460:11
Но проблема на вид не повторяется. Точнее при загрузке сначала выделения цветом нет, но спустя пол секунды появляется. Будем считать что страница не прогрузилась до конца. Будет повторение - буду смотреть консоль.
peregrine ★★★★★ ( 13.03.18 23:57:22 )Последнее исправление: peregrine 13.03.18 23:57:56 (всего исправлений: 2)
Сегодня вышел Firefox 59, в нём попробуй.
очнее при загрузке сначала выделения цветом нет, но спустя пол секунды появляется.
Аналогично, 59 версия, ванильная сборка от мозиллы.
в opera примерно тоже самое - моргает, а если открыть в фоне и переключиться на вкладку, то код не цветной до перезагрузки страницы
Если как было, то просто отзовите у браузера разрешение исполнять код с ЛОРа.
Куды вышел? из жопы? у меня уже 60.
Ну и на хрена, если в девтулзах давно есть пер-сайтная сосноль? Ты из какого века на паровозике приехал?
Зачем ему лезть в devtools? Один шоткат, и все дела. Красноглазым мудакам, конечно, не понять заботу об удобстве обычных юзеров.
Молодец. Возьми с полки пирожок.
А девтулзы шорткатом не открываются, что ли, по-твоему?!
Тебе что надо? Я предложил ТС рецепт для получения отладочной информации при воспроизведении его бага. С этой инфой он уже может лезть в гуголь и искать ответы. Инфу он получил: А что за глюки? (комментарий). Через 2 дня появляешься ты и ведешь себя, словно ужаленный в задницу.
Через 2 дня появляешься ты и ведешь себя, словно ужаленный в задницу.
Информация о пользователе Virtuos86
Дата регистрации: 07.10.2011 12:31:42
И всё ещё не привык?
А я предложил лучше, ибо от твоего рецепта уже мертвечиной попахивает. Не исключено, что эту консоль вообще скоро выкинут из лисы. Придёт кто-то в тред из поисковика, а тут деза и ретроградство.
Пуристы не нужны.
Не исключено, что эту консоль вообще скоро выкинут из лисы.
Читайте также: