如何在后台页面中存储变量

时间:2013-02-07 06:21:53

标签: javascript google-chrome google-chrome-extension

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

3 个答案:

答案 0 :(得分:3)

后台页面存储值直到浏览器会话,如果您正在寻找稳定的存储使用Chrome.storage。您可以将以下代码作为参考。

示范

的manifest.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"
        ]
    }
}

background.js

一些微不足道的实施。

//You can use Storage API
chrome.storage.local.set({
    "Name": "Your_variable",
    "Value": "Some Value"
}, function () {
    console.log("Storage Succesful");
});

参考

答案 1 :(得分:0)

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

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

答案 2 :(得分:0)

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

如果您使用chrome.storage.localchrome.storage.sync

提供大数据

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