Вопрос по – Расширение Chrome запускается для конкретной страницы

34

Я пишу расширение Chrome, только когда оно оповещает Hello World обо всех страницах, которые я указал для разрешения, заканчивается загрузка, но она не работает, вот мой сценарий

File: manifest.json

<code>{
  "name": "Hello",
  "version": "1.0",
  "description": "Says hello to Google",
  "permissions": ["http://*.google.com/"]
  "browser_action": {
    "popup": "Hello.html"
  }
}
</code>

File: Hello.html

<code><script language="Javascript">
   alert("Hello World");
</script>
</code>

Ваш Ответ

1   ответ
54

которое добавляет кнопку в правом верхнем углу браузера. (Вероятно, он невидим, потому что вы не указали для него изображение. Справа от адресной строки должно быть свободное место; попробуйте щелкнуть его, чтобы увидеть вашHello.html во всплывающем окне.)

Что ты хочешь, это содержание сценария. Сценарии содержимого могут быть вставлены в каждую страницу, загружаемую Chrome. Вы можете использоватьmatches а такжеexclude_matches подпункты в файле манифеста, чтобы указать, какие страницы получают ваш внедренный скрипт.

{
  "name": "Hello",
  "version": "1.0",
  "description": "Says hello to Google",
  "permissions": ["tabs", "*://*.google.com/*"],
  "content_scripts": [
    {
      "matches": ["*://*.google.com/*"],
      "js": ["hello.js"]
    }
  ]
}

Убедитесь, что вы переименовалиHello.html вhello.js (и избавиться от<script> теги).

Отметьте также, что я изменил вашhttp://*.google.com/ в*://*.google.com/* так что он будет применяться к Google через HTTP и HTTPS (и конечный* гарантирует, что он будет применяться ко всем страницам наgoogle.com, а не только главная страница).

Thetabs разрешение не требуется. На самом деле, все разрешения не нужны, потому чтоalert('Hello World!') не имеет доступа к DOM страницы. Шаблоны URL следуют очень строгим правилам, см. Соответствие шаблонов. Rob W
Вам не хватает запятой в пятой строке после ... com / * "] SoEzPz
Whops, это разрешения для чего-то другого; вам действительно не нужны разрешения для запуска скриптов контента. (Конкретные вещи, которые вы делаете для сценария содержимого могут потребоваться разрешения.) apsillers
The "избавиться от<script> tags "имеет решающее значение: расширение в его нынешнем виде не работает из-за запрета встроенного кода политикой безопасности контента. Xan
Так как вы обновляете ответ, вы также можете увеличить его до версии 2. Xan

Похожие вопросы