chrome extension общение с popup.html

Решил занятся плагинами для chrome (парсинг и все дела =)).

Встал вопрос с взаимодействием скриптов с html страницами плагина.
К примеру, background js нужно что-то отрисовать, вывести на какой-нибудь html странице. Как это лучше сделать?

chrome.tab я не использую, не хочу напрягать пользователей излишним доступом.
Из того что я понял:

  1. background.js — работает всегда в фоне. Хороший кандидат для перехватов событий (message)
  2. popup.js — запускается при клике на иконку (запускатеся перед каждой отрисовкой popup.html)
    window - popup.html
  3. content.js — запускается после открытия страницы к которой мы имеем доступ.
    window - открытая вкладка

Сейчас я организовываю сообщения на уровне background.js вечный слушатель, content.js отправляет сообщения. Но как от background.js получить доступ к внутренним страницам плагина (popup.html) я не понимаю.
Вешать слушателя в popup.js нету смысла, т.к. он дохнет после закрытия окошка.

Единственное что пришло в голову использовать localStorage как некий стек. Background.js записывает в стек объекты, которые нужно вывести, а popup.js при старте обрабатывает их и выводит по нужным требованиям.
Но мне кажется такой способ очень ограниченным и не правильным. Не хочется мне постоянно отрисовывать popup.html заново, да и обработка информации из стека не дает гибкости отображения.

Какие еще есть предложения для работы с фоновыми html страницами?

1 ответов