Расширение Google Chrome - фон script
После того, как вы столкнулись с расширением Chrome, я заметил, что когда вы находитесь на странице chrome://extensions
, фон script, инициированный в файле манифеста, будет запускаться там, где вы просто просматриваете Интернет или на другой странице, кроме расширения страница script не будет работать.
Вот что я имею в виду:
В моем файле манифеста:
"background": {
"scripts": ["jquery-latest.js","background.js"]
},
Теперь в файле background.js
:
$(document).ready(function(){
alert("working");
});
Я использую простую функцию оповещения, чтобы узнать, будет ли это работать, и узнаем, что alert("working");
отображается только тогда, когда я нахожусь в каталоге chrome://extension
. Если я пойду на google.com или что-то в этом роде, не будет сигары.
Мой вопрос заключается в том, почему это происходит? Как изменить его, чтобы он предупреждал, что бы ни случилось.
Ответы
Ответ 1
background script следует рассматривать как "работающий на фоне браузера Chrome".
Ваш желаемый эффект (запуск script для каждой страницы) на самом деле является задачей для сценариев контента.
Чтобы узнать больше, прочитайте https://developer.chrome.com/extensions/overview.html#arch.
Ответ 2
Это потому, что вы используете справочную страницу.. используйте страницу событий, слегка изменив manifest.json..
Попробуйте добавить это:
"background": {
"scripts": ["jquery-latest.js","background.js"],
"persistent": false
},
для более подробной информации о страницах событий проверьте это: https://developer.chrome.com/extensions/event_pages
Ответ 3
Эффект создается, потому что всякий раз, когда вы загружаете chrome://extensions
, он заставляет перезагружать расширения, такое же поведение можно воспроизвести с помощью CTRL + R. Поэтому каждый раз на фоновом экране появилась новая перезагрузка, чего не бывает в случае других страниц.