Разница между фоном script и контентом script в chrome extension
Как говорится в ответах,
Я просто хочу знать разницу между фоном script и контентом script в расширении chrome. Когда я зарегистрировал хром-объект в обоих сценариях, я нашел разные объекты.
Использовать регистр
Я хочу вставить свой javascript на страницу при щелчке значка. Итак, в manifest.json
я добавил контент script, но я не могу прослушать событие щелчка значка внутри содержимого script.
chrome.browserAction не определено в объекте chrome в контенте script.
Вопрос
Как я могу прослушать событие click в контенте script. Можем ли мы включить фон и контент script?
Это мой manifest.json
{
"name": "First Plugin Testing",
"version": "1.0",
"manifest_version": 2,
"description": "Trying hands on first extension",
"background": { "scripts": ["background.js"] },
"browser_action": {
"default_icon": "icon.png"
},
"permissions": [
"tabs", "http://*/*", "https://*/*"
],
"content_scripts": [
{
"matches": ["http://*/*"],
"js": ["temp.js"]
}
]
}
Ответы
Ответ 1
Я нашел ответ на заданные вопросы.
а. Можем ли мы включить как контент script, так и background script?
Да, мы можем включать в себя как фоновые сценарии, так и сценарии содержимого.
Для взаимодействия между ними вы можете использовать API для передачи сообщений Chrome.
Я делал то же самое, но была некоторая ошибка в фоновом режиме script, который я не мог видеть, поэтому я разместил этот вопрос после некоторого поиска в google.
В. Как я могу прослушать событие click в контенте script?
Решение: У нас не может быть browser click event
в содержании script. Он имеет только частичный доступ к объекту chrome. Итак, вы должны получить обработчик кликов в фоновом режиме script и отправить сообщение в контент script и делать все, что хотите.
Используйте chrome.browserAction.onClicked
событие в фоновом режиме script, а затем используйте сообщение, чтобы отправить информацию в контент script, на который пользователь нажал значок.