Пример расширения для crome
Добрый день.
Не могу разобраться как localStorage передать в content_scripts. Был бы признателен если кто то выложил работоспособное расширение: - в options - указывается переменная; - на ya.ru в input вставляется. |
Цитата:
content_script.js: //Отправляем запрос на страницу bg.js chrome.runtime.sendMessage('getOptions', function(response){ options = response ? JSON.parse(response) : {}; console.log(options); //Дальше твои скрипты }); bg.js: //Стандартные настройки: var defaults = { test: 'ok', secondTest: 23 } //Установка стандартных настроек, если они еще не установлены function setOptions(defaults){ var options = localStorage.options ? JSON.parse(localStorage.options) : {}; for(var key in defaults){ options[key] = options[key] || defaults[key]; } localStorage.options = JSON.stringify(options); } setOptions(defaults); //Ловим запросы chrome.runtime.onMessage.addListener(function(msg, sender, sendResponse){ if(msg == 'getOptions'){ response = localStorage.options; } sendResponse(response); }) options.js: //Здесь мы можем просто устанавливать и менять значение localStorage.options //Например options = localStorage.options ? JSON.parse(localStorage.options) : {}; options.test = 'options ok'; localStorage.options = JSON.stringify(options); В manifest.json должны быть включены следующие строчки: "background": { "scripts": [ "bg.js" ] }, "options_page": "options.html", "permissions":["storage"], "content_scripts":[ { "js":["content_script.js"] } ] |
Спасибо, вроде дошло =)
|
Часовой пояс GMT +3, время: 22:04. |