Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 13.03.2014, 04:45
Новичок на форуме
Отправить личное сообщение для scfx Посмотреть профиль Найти все сообщения от scfx
 
Регистрация: 01.11.2013
Сообщений: 6

Пример расширения для crome
Добрый день.
Не могу разобраться как localStorage передать в content_scripts.
Был бы признателен если кто то выложил работоспособное расширение:
- в options - указывается переменная;
- на ya.ru в input вставляется.
Ответить с цитированием
  #2 (permalink)  
Старый 13.03.2014, 16:15
Аватар для Zuenf
Кандидат Javascript-наук
Отправить личное сообщение для Zuenf Посмотреть профиль Найти все сообщения от Zuenf
 
Регистрация: 27.01.2012
Сообщений: 134

Цитата:
как 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"]
        }
    ]

Последний раз редактировалось Zuenf, 13.03.2014 в 16:27.
Ответить с цитированием
  #3 (permalink)  
Старый 17.03.2014, 03:45
Новичок на форуме
Отправить личное сообщение для scfx Посмотреть профиль Найти все сообщения от scfx
 
Регистрация: 01.11.2013
Сообщений: 6

Спасибо, вроде дошло =)
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
jquery для placeholder работает только для первого input в ie Nailya jQuery 1 13.05.2014 08:57
Решение проблемы кодировок для AJAX и PHP без iconv (cp1251 в AJAX) Serge Ageyev AJAX и COMET 10 24.04.2013 19:48
Подскажите технологию для реализации. sektor-sumy Общие вопросы Javascript 3 11.04.2013 22:49
скрипт удаления части кода из страницы (для фф расширения) e-lena Общие вопросы Javascript 1 30.11.2010 09:46
Модуль для работы с модулями JSprog Ваши сайты и скрипты 29 02.09.2009 12:31