Мое расширение работает на существующей веб-странице, которую я не контролирую. Я хочу иметь страницу опций для этого. Что я не понял, так это как получить значения опций из введенного кода. localStorage
не разглашается, конечно. Я пытался использовать sendRequest / addListener в обоих направлениях, хотя было бы гораздо предпочтительнее перенести значения со страницы параметров в введенный код, чем наоборот -
В начале я просто ставлю флажки опций на манипулируемой странице (той, в которую вводится код), и эти флажки устанавливают значения в localStorage
:
localStorage.showStuff = !!$(evt.target).attr(‘checked’);
Затем я проверяю эти значения в коде:
if (localStorage.showStuff == ‘true’) { … }
Я переместил код флажка на страницу параметров, и он сделал sendRequest
, когда параметры изменились, и у моего введенного кода был прослушиватель сообщения, но он не получает сообщения (моя фоновая страница делает , но это мне не поможет). Я также пытался сделать так, чтобы внедренный код вызывал обратный вызов на страницу параметров, но объект sendResponse
, кажется, работает только на время обработчика уведомлений (не удивительно, но мне пришлось попробовать).
Прямо сейчас в моем манифесте permissions
перечислены иностранные страницы ("http://example.com/*"
) и “tab”
.
Единственное, что я могу сделать, - это асинхронно запрашивать страницу параметров с помощью обратного вызова, но код не работает (и не может работать) асинхронно без серьезной перезаписи.
Любые идеи приветствуются, заранее спасибо.