Я понял почему сейчас.
Комментарий 29 от rdevlin .... @ chromium.org, 25 апреля По крайней мере, некоторые из
эти случаи из-за дублированных ошибок, я думаю, что это было вызвано пересмотром
39f8939309fe39bccc17fa1280b6c7f25c411947. Это изменило
свойство externally_connectable расширения компонента криптовалюты
(автоматически встроен в Chrome), чтобы принимать только входящие соединения
из https URL, тогда как ранее это были все URL. Когда это было установлено
для всех URL всегда будет доступен chrome.runtime.sendMessage
потому что любой URL потенциально может отправить сообщение в криптокен
расширение компонента.
Тем не менее, это работает как задумано. Только криптотокен
принимает соединения от источника https (так что любые другие будут
игнорируется), и отправка сообщения на любое другое расширение потребует
получающее расширение для перечисления URL в externally_connectable
опции. Кроме того, это означает, что раньше любое расширение, полагающееся на
на такое поведение, скорее всего, не удалось отправить сообщение, но
сделано асинхронно (после того, как сообщение не смогло найти подходящий
приемник), а не синхронно (поскольку время выполнения не определено). Если
расширение перечисляет URL в externally_connectable, затем
chrome.runtime все еще должен присутствовать. Если расширение не
перечислите сайт в externally_connectable, тогда chrome.runtime не будет
доступно предполагаемое поведение.
Есть ли случай, когда chrome.runtime не определен для
chrome-extension без песочницы: // pages или для веб-страниц, где
установленное расширение указывает URL этой веб-страницы в
внешне подключаемое поле манифеста? Если да, пожалуйста, приложите
расширение, которое демонстрирует эту проблему. Если нет, это звучит как
WAI.
исправлено: добавить одно расширение с помощью: manifest.
думает все.