4

我正在开发 Google Chrome 扩展程序。我想维护用户的状态。如果任何用户登录,那么在页面刷新后他/她应该登录。我怎样才能保持这种状态。

4

3 回答 3

4

后台页面在浏览器会话之前存储价值,如果您正在寻找稳定的存储空间,请使用 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");
});

参考

于 2013-02-07T06:34:51.007 回答
0

在您的情况下,听起来您的意思是将用户的状态保存在服务器端,这与在扩展程序本身上保存状态有很大不同。例如 - 您可能有一些服务器端代码(用 PHP 或任何其他服务器端语言编写)在您登录时跟踪您的 chrome 扩展用户。为此 - “会话”非常常见且很好并且已实现可能还有所有服务器端语言。如果这是您正在寻找的内容,最好在深入研究您的扩展之前阅读有关服务器端编程和 ajax 的信息。

但是,如果您想在“本地”(不涉及服务器)的 chrome 扩展上保存状态,那么 html5 的 localStorage 是一个不错的选择http://diveintohtml5.info/storage.html

于 2013-02-07T06:33:27.047 回答
0

您可以localStorage使用以下方法存储变量:localStorage.setItem(), localStorage.getItem(),但 localStorage 有限制

如果您使用大数据chrome.storage.localchrome.storage.sync

localStorage 工作固定然后 chrome.storage 和 chrome.storage 是异步的

于 2013-02-07T08:58:46.630 回答