Расширение Chrome: как не потерять состояние моего расширения, когда пользователь изменяет / перезагружает страницу - PullRequest
0 голосов
/ 27 ноября 2018

В настоящее время я разрабатываю расширение, которое состоит из нескольких частей: - фоновый скрипт (Chrome background.js - контентный скрипт (Chrome content-script.js) - всплывающий скрипт (popup.js и загруженный из iFrame) - iframe.html (iframe, загружаемый, когда пользователь активирует расширение)

Это прекрасно работает, за исключением того, что я теряю все настройки / контекст (используемый во всплывающем скрипте для отображения информации в iframe) при изменении пользователем страницыили перезагрузите страницу во вкладке.

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

Вопрос в том, каков наилучший способ добиться этого?

Я думаю о сохранении всего контекста в скрипте содержимого и перезагрузке его при запуске события chrome.tabs.onUpdated.правильный подход?

1 Ответ

0 голосов
/ 27 ноября 2018

Рекомендую прочитать о chrome.storage .Вы можете хранить там данные, и фоновый, и контентный скрипты имеют к ним доступ.И, вероятно, вам потребуется chrome.runtime.sendMessage и chrome.runtime.onMessage , чтобы вести диалог между фоном и контентом.Каждый раз, когда скрипт содержимого запускается на вкладке, он может запросить фон, есть ли на этой вкладке какие-либо существующие данные или нет.

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