Google Chrome扩展程序:本地存储

Roh*_*han 14 google-chrome google-chrome-extension

我正在为Google Chrome开发扩展程序,但遇到了一些麻烦.我创建了一个options.html页面并将其添加到manifest.json文件中.页面显示正确.

我保存了选项,然后返回到应该运行扩展的页面.

不幸的是,选项的本地存储返回'null'而不是选项.如果我直接从扩展的JS脚本设置本地存储选项,它可以正常工作,但如果它是从选项页面设置的话.

知道如何从扩展程序中的Javascript文件访问options.html本地存储值吗?

小智 24

你用以下任何一个设置它们:

localStorage["var"]=data;
Run Code Online (Sandbox Code Playgroud)

要么

localStorage.var=data;
Run Code Online (Sandbox Code Playgroud)

你在用它们加载它们吗?

var myvar = localStorage.var;
Run Code Online (Sandbox Code Playgroud)

您可以在此处查看API


DJ'*_*DJ' 14

正确的方法是:

if (typeof(localStorage) == ‘undefined’ ) {
  alert(‘Your browser does not support HTML5 localStorage. Try upgrading.’);
}
else {
  try {
    localStorage.setItem(“name”, “Hello World!”); //saves to the database, “key”, “value”
  }
  catch (e) {
    if (e == QUOTA_EXCEEDED_ERR) {
      alert(‘Quota exceeded!’); //data wasn’t successfully saved due to quota exceed so throw an error
    }
  }
  document.write(localStorage.getItem(“name”)); //Hello World!
  localStorage.removeItem(“name”); //deletes the matching item from the database
}
Run Code Online (Sandbox Code Playgroud)

参考:http://html5tutorial.net/tutorials/working-with-html5-localstorage.html

  • 是的,这是访问localStorage for javascripts的强大方法,但任何支持扩展的Chrome版本都支持localStorage,因此它是多余的. (14认同)