Разница между фоновым скриптом и скриптом содержимого в расширении chrome
Как говорится в вопросах, Я просто хочу знать разница между фоновым скриптом и скриптом контента в расширении chrome. Когда я зарегистрировал объект chrome в обоих сценариях, я нашел разные объекты.
пример использования
Я хочу ввести свой javascript на страницу, когда значок нажат так в manifest.json
Я добавил сценарий содержимого, но я не могу слушать событие щелчка значка внутри сценария содержимого.
chrome.browserAction не определен в объекте chrome в сценарии содержимого.
вопрос
Как я могу прослушать событие click в сценарии содержимого. Можем ли мы включить как фон, так и контент-скрипт ?
Это мой манифест.в 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 ответов
Я нашел ответ на вопросы.
A. можем ли мы включить как сценарий контента, так и фоновый скрипт ?
да, можно включать как фон скриптов и сценариев в манифесте. Для взаимодействия между ними вы можете использовать передача сообщений Chrome API.
Я делал то же самое, но была некоторая ошибка в фоновом скрипте, который я не мог видеть, поэтому я опубликовал это вопрос после некоторого поиска в google.
B. Как я могу прослушать событие click в сценарии содержимого ?
устранение: мы не можем иметь browser click event
в скрипт содержимое. Он имеет только частичный доступ к объекту chrome, поэтому вам нужно получить обработчик щелчка в фоновом скрипте и отправить сообщение в сценарий содержимого и сделать все, что вы хотите.
использовать chrome.browserAction.onClicked
событие в фоновом скрипте, а затем используйте сообщение передает для отправьте информацию в сценарий контента, который пользователь нажал на значок.