Цитата:
|
как localStorage передать в content_scripts.
|
Есть три фала bg.js, content_script.js и options.js
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"]
}
]