Google chrome 谷歌浏览器扩展:本地存储

Google chrome 谷歌浏览器扩展:本地存储,google-chrome,google-chrome-extension,Google Chrome,Google Chrome Extension,我正在为Google Chrome开发一个扩展,但遇到了一些问题。我创建了一个options.html页面,并将其添加到manifest.json文件中。该页面显示正确 我保存了选项,然后返回到应该运行扩展的页面 不幸的是,选项的本地存储返回的是“null”,而不是选项。如果我直接从扩展的JS脚本设置本地存储选项,它可以正常工作,但如果是从选项页面设置的话就不行了 知道如何从扩展名中的Javascript文件访问options.html本地存储值吗?您可以使用 localStorage["var

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

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

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


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

您可以使用

localStorage["var"]=data;

使用

var myvar = localStorage.var;
您可以阅读有关API的信息。

正确的方法是:

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
}

参考资料:

真的吗?这对我来说总是有效的,也许只是暂时的?但至少它现在可以工作了。嗨,rohan,我面临着同样的问题。你能发布解决方案吗?是的,这是访问javascripts的localStorage的可靠方法,但是任何支持扩展的Chrome版本都会支持localStorage,所以它是多余的。那么你是如何修复它的?我也有同样的问题
options.html
使用localStorage,但内容脚本只知道网站的localStorage,而
background.js
的localStorage是空的…我已经使用新的存储API修复了它:此时,您应该使用,而不是在Chrome扩展中,除非您特别希望使用内容脚本与特定网站的
localStorage
交互。
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
}