我正在开发 Google Chrome 扩展程序。我想维护用户的状态。如果任何用户登录,那么在页面刷新后他/她应该登录。我怎样才能保持这种状态。
3 回答
后台页面在浏览器会话之前存储价值,如果您正在寻找稳定的存储空间,请使用 Chrome.storage。您可以将以下代码作为参考。
示范
清单.json
已注册的带有 chrome 扩展名的背景页面
{
"name": "Persist Value",
"description": "http://stackoverflow.com/questions/14744916/how-to-store-variable-in-background-page",
"manifest_version": 2,
"version": "1",
"permissions": [
"storage"
],
"background": {
"scripts": [
"background.js"
]
}
}
背景.js
一些琐碎的实现。
//You can use Storage API
chrome.storage.local.set({
"Name": "Your_variable",
"Value": "Some Value"
}, function () {
console.log("Storage Succesful");
});
参考
在您的情况下,听起来您的意思是将用户的状态保存在服务器端,这与在扩展程序本身上保存状态有很大不同。例如 - 您可能有一些服务器端代码(用 PHP 或任何其他服务器端语言编写)在您登录时跟踪您的 chrome 扩展用户。为此 - “会话”非常常见且很好并且已实现可能还有所有服务器端语言。如果这是您正在寻找的内容,最好在深入研究您的扩展之前阅读有关服务器端编程和 ajax 的信息。
但是,如果您想在“本地”(不涉及服务器)的 chrome 扩展上保存状态,那么 html5 的 localStorage 是一个不错的选择http://diveintohtml5.info/storage.html。
您可以localStorage
使用以下方法存储变量:localStorage.setItem()
, localStorage.getItem()
,但 localStorage 有限制
如果您使用大数据chrome.storage.local
或chrome.storage.sync
localStorage 工作固定然后 chrome.storage 和 chrome.storage 是异步的