Расширение Chrome: контентный скрипт для запуска на всех страницах, а другой - только на одной странице - PullRequest
8 голосов
/ 05 октября 2011

Я пишу расширение Chrome, которое должно выполнять следующие действия:

  • вставлять скрипт содержимого в текущую (любую) страницу, когда всплывающее окно запускает
  • , вводить другойСценарий содержимого на всех страницах определенного домена, всегда

До сих пор я реализовал первый, вызвав chrome.tabs.executeScript() в файле popup.html и указав в манифесте следующее, чтобы разрешитьскрипт для запуска на любой странице:

"permissions": [
  "tabs", "http://*/*"
],

Теперь, согласно http://code.google.com/chrome/extensions/content_scripts.html,, если я хочу, чтобы скрипт контента всегда запускался на определенной странице, я должен объявить его в манифесте и установить разрешениявключить только те страницы, на которых должен выполняться код.Однако, это сломает первую часть.

Как мне решить эту проблему?Единственный способ, о котором я могу думать, - это всегда вызывать какой-то «вызывающий» сценарий, который затем выполняет собственную проверку и загрузку других сценариев, но это просто кажется очень грязным, и я предполагаю, что имеет длялучший способ.

1 Ответ

13 голосов
/ 05 октября 2011
{
  "content_scripts": [
    {
      "matches": ["http://www.google.com/*"],
      "js": ["myscript.js"]
    }
  ],
  "permissions": [
     "tabs", "http://*/*"
  ]
}

myscript.js автоматически вводится на google.com, вы все равно можете вручную ввести http://*/*.

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