Расширения Chrome имеют доступ к локальному устройству хранения данных?

Действительно ли возможно хранить данные способом, которые будут доступны после перезапуска браузера в контексте хромового расширения?

27
задан Vikas 5 August 2011 в 09:53
поделиться

4 ответа

Еще проще:

Прочитать:

    var myStoredValue = localStorage["TheKeyToMyStoredValue"];

Записать:

    localStorage["TheKeyToMyStoredValue"] = myNewValueToStore;

Избавиться от:

    delete localStorage["TheKeyToMyStoredValue"];
44
ответ дан 28 November 2019 в 04:19
поделиться

Да, это. Переходя на полное прохождение того, как это сделать, вероятно, превысит продолжительность разумного ответа в стойке, поэтому я направим вас к этому очень обширному учебнику Rajdeep Dua.

Соответствующий код будет выглядеть так:

// Store item in local storage:
function setItem(key, value) {
  try {
    log("Storing [" + key + ":" + value + "]");
    window.localStorage.removeItem(key);      // <-- Local storage!
    window.localStorage.setItem(key, value);  // <-- Local storage!
  } catch(e) {
    log("Error inside setItem");
    log(e);
  }
  log("Return from setItem" + key + ":" +  value);
}

// Gets item from local storage with specified key.
function getItem(key) {
  var value;
  log('Retrieving key [' + key + ']');
  try {
    value = window.localStorage.getItem(key);  // <-- Local storage!
  }catch(e) {
    log("Error inside getItem() for key:" + key);
  log(e);
  value = "null";
  }
  log("Returning value: " + value);
  return value;
}

// Clears all key/value pairs in local storage.
function clearStrg() {
  log('about to clear local storage');
  window.localStorage.clear(); // <-- Local storage!
  log('cleared');
}

function log(txt) {
  if(logging) {
    console.log(txt);
  }
}
21
ответ дан 28 November 2019 в 04:19
поделиться

Текущая хромированная версия имеет локальное хранилище.

Я сам использовал это. Вы можете использовать Moderizr для обнаружения, поддерживает ли браузер или нет. Я написал решение для клиента, где я делаю неудачу для cookie, если не существует местного хранилища, но это не должно быть проблемой для расширений.

5
ответ дан 28 November 2019 в 04:19
поделиться

Chrome также поддерживает спецификацию веб-базы данных HTML5 . Это дает вам локальную базу данных SQL, поэтому вы можете делать более сложные вещи, чем просто хранить пары имя / значение в локальном хранилище.

7
ответ дан 28 November 2019 в 04:19
поделиться
Другие вопросы по тегам:

Похожие вопросы: