Расширения Chrome с фоновыми скриптами вместо фоновых страниц? - PullRequest
4 голосов
/ 16 января 2012

Недавно я начал изучать Chrome Extensions и изучал пример кода, чтобы понять, как все эти части сочетаются друг с другом.Я вижу, что логика расширений обрабатывается в основном на фоновых страницах, но, глядя на следующий пример кода, я заметил кое-что странное.

{
  "name": "Notification Demo",
  "version": "1",
  "description":
     "Shows off desktop notifications, which are \"toast\" windows that pop up on the desktop.",
  "icons": {"16": "16.png", "48": "48.png", "128": "128.png"},
  "permissions": ["tabs", "notifications"],
  "options_page": "options.html",
  "background": { "scripts": ["background.js"] },
  "content_security_policy": "script-src 'self'; img-src 'self'"
}

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

Ответы [ 2 ]

4 голосов
/ 16 января 2012

Это часть работы security , которая не позволяет выполнять встроенный JavaScript. Вместо background_page, который загружает только background_script, используйте отдельный файл для прямой загрузки JS. Поскольку фоновый код не имеет пользовательского интерфейса, HTML действительно не нужен. Это выглядит как недавняя работа и еще не была задокументирована.

2 голосов
/ 17 января 2012

Вы можете увидеть эту реализацию в действии в примере кода Google для функции browserAction:

http://src.chromium.org/viewvc/chrome/trunk/src/chrome/common/extensions/docs/examples/api/browserAction/

Обратите особое внимание на make_bg_red.

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