Google Chrome расширение Content Script не работает - PullRequest
0 голосов
/ 11 марта 2020

Я пытался применить решения из других тем, связанных с проблемами со скриптом контента, но они не работали. Источник в dev tools не видит контентный скрипт из этого расширения. Я получаю сообщение об ошибке из консоли расширения

Не проверено runtime.lastError: Не удалось установить sh соединение. Получающий конец не существует.

Похоже, расширение не видит контент. js вообще.

Итак, в моем случае - контент. js нет отвечать и работать. Я что-то пропустил в манифесте. json?

манифест. json

    "name": "Notification Extension",
    "version": "1.0",
    "description": "Build an Extension!",
    "permissions": [
        "storage",
        "notifications",
        "alarms",
        "activeTab",
        "tabs",
        "http://*/*",
        "https://*/*"
    ],
    "background": {
      "scripts": ["background.js"],
      "persistent": false
    },
    "browser_action": {
      "default_popup": "popup.html"
    },
    "content_scripts": [
      {
        "matches": [
          "http://*/*",
          "https://*/*"
        ],
        "js": ["content.js"],
        "run_at": "document_end"
      }
    ],
    "content_security_policy": "script-src 'self' 'unsafe-eval'; object-src 'self'",
    "manifest_version": 2
  }

содержание. js

console.log('content.js is working');

chrome.runtime.onMessage.addListener(
    (request, sender, sendResponse) => {
        if(request.createAlarm){

            console.log('alarm senedet to content.js')
        }
    }
)

всплывающее окно . js

chrome.tabs.query({active:true, currentWindow:true}, (tabs) => {
    chrome.tabs.sendMessage(tabs[0].id, {createAlarm: true, message: 'sending to extension'}, (response) => {
        console.log('message arrived');
    })
})

Спасибо за помощь!

Ответы [ 2 ]

0 голосов
/ 11 марта 2020

Итак, наконец, проблема заключалась в «новой карте», на которой я пытался протестировать расширение. Это должен быть любой сайт. Виноват. Но я хочу поблагодарить вас за вашу помощь! Извините еще один зуб за беспокойство. С наилучшими пожеланиями!

0 голосов
/ 11 марта 2020

Я полагаю, что вы можете использовать chrome .tabs.sendMessage только для отправки сообщений из фоновых сценариев в сценарии содержимого. Проверьте этот ответ для рабочего решения: { ссылка }

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...