Как правильно localStorage с одним именем? - PullRequest
0 голосов
/ 31 января 2011

Я хочу использовать localStorage ["что-то"] = item; но скрипт загружается на каждую страницу, которая создает файлы вроде:

http_www.google.bg_0.localstorage

http_stackoverflow.com_0.localstorage`

Я хочу, чтобы данные текущей веб-страницы были сохранены в одном файле, как это делают обычные расширения. Но я обнаружил, что это возможно только при доступе к localStorage из файла popups.html. Тогда выводимый файл выглядит так:

хром-extension_cognfheolmcnfppokallnahdaibbaabe_0.localstorage

Кто-нибудь знает, как это сделать? Или, может быть, как использовать localStorage из popup.html, не показывая его?


EDIT:

Когда я пытаюсь использовать функцию из background.html, например:

chrome.extension.getBackgroundPage () SetItem ( "currentWord", с);.

Ничего не вызывается, что это могло случиться?

Вот мой background.html:


     <html><head><script>

     var logging  = false;

     function setItem(key, value) {
          alert("Saving setting");

          try {
             log("Inside setItem:" + key + ":" + value);
             window.localStorage.removeItem(key);
             window.localStorage.setItem(key, value);
          } catch(e) {
             alert("Error inside setItem: " + e);
          }
     }

     function clear() {
              window.localStorage.clear();
     }

     function log(txt) {
              if(logging) console.log(txt);
     }

     </script></head></html>

1 Ответ

0 голосов
/ 31 января 2011

Вам необходимо поместить значения в локальное хранилище внутри фоновой страницы.Для этого вам нужно передать значение из скрипта содержимого, используя передачу сообщений .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...