2012-05-22 2 views
2

Я пытаюсь разработать расширение Chrome. В нем у меня есть одна страница с опцией и contentscript.js, зарегистрированные в manifest.js.Доступ к локальному хранилищу из сценария контента в программе расширения Chrome

Я использовал местное хранилище в option.js. Теперь я хочу, чтобы получить доступ к данным локального хранилища от contentscript.js поэтому я нашел следующий код, чтобы отправить запрос на background.js от contentscript.js:

chrome.extension.sendRequest({method: "getStatus"}, function(response) { 
    console.log(response.status); 
}); 

И background.js используя следующие ответить:

chrome.extension.onRequest.addListener(function(request, sender, sendResponse) { 
if (request.method == "getStatus") 
     sendResponse({status: localStorage['status']}); 
else 
     sendResponse({}); }); 

Теперь он показывает следующее ошибка:

undefined in line "console.log(response.status);" in file contentscript.js .

В чем проблема с этим? Как получить доступ к полному локальному хранилищу от contentscript.js?

ответ

0

Он выглядит как рабочий код. Проверьте файл манифеста и localStorage.status

http://code.google.com/chrome/extensions/messaging.html http://code.google.com/chrome/extensions/content_scripts.html

+0

Почему localStorage.status возвращается ** неопределенными ** ?? Когда я пропускаю localStorage.length, он показывает правильную длину. Теперь мои следующие вопросы заключались в том, что как я могу передать ** полное локальное хранилище ** на ** contentcript ** в качестве ответа? –

+0

Используйте JSON.stringify() с localStorage. Отправьте эту строку в textcript и используйте JSON.parse() для получения объекта –

Смежные вопросы