Я пытаюсь разработать расширение 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
?
Почему localStorage.status возвращается ** неопределенными ** ?? Когда я пропускаю localStorage.length, он показывает правильную длину. Теперь мои следующие вопросы заключались в том, что как я могу передать ** полное локальное хранилище ** на ** contentcript ** в качестве ответа? –
Используйте JSON.stringify() с localStorage. Отправьте эту строку в textcript и используйте JSON.parse() для получения объекта –