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