Разница между фоновым сценарием и сценарием содержимого в расширении Chrome

Как говорится в вопросах, я просто хочу знать разницу между фоновым сценарием и сценарием содержимого в расширении Chrome. Когда я зарегистрировал хромированный объект в обоих сценариях, я обнаружил разные объекты.

Вариант использования

Я хочу внедрить свой javascript на страницу при нажатии значка. Итак, в manifest.json я добавил сценарий содержимого, но я не могу прослушать событие щелчка значка внутри сценария содержимого.

chrome.browserAction не определен в объекте chrome в сценарии содержимого.

Вопрос

Как я могу прослушать событие клика в сценарии содержимого. Можем ли мы включить как фоновый, так и контентный сценарий?

Это мой манифест.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"]
    }
  ]
}

person sachinjain024    schedule 18.10.2012    source источник
comment


Ответы (1)


Я нашел ответ на заданные вопросы.

О. Можем ли мы включить как сценарий содержимого, так и фоновый сценарий?

Да, мы можем включить в манифест как фоновые сценарии, так и сценарии содержимого. Для взаимодействия между ними вы можете использовать API передачи сообщений Chrome.

Я делал то же самое, но в фоновом скрипте была какая-то ошибка, которую я не мог видеть, поэтому я разместил этот вопрос после некоторого поиска в Google.

B. Как я могу прослушать событие клика в сценарии контента?

Решение. У нас не может быть browser click event в сценарии контента. Он имеет только частичный доступ к хромированному объекту. Поэтому вам нужно получить обработчик кликов в фоновом сценарии, отправить сообщение в сценарий контента и делать все, что вы хотите.

Используйте событие chrome.browserAction.onClicked в фоновом сценарии, а затем используйте передачу сообщений для отправки информации в контент. скрипт, который пользователь щелкнул по значку.

person sachinjain024    schedule 18.10.2012
comment
Как насчет разницы между контентом и фоновыми сценариями? - person sdfsdf; 05.08.2016