如何在Chrome扩展程序中本地保存信息?

Ari*_*iel 59 javascript google-chrome google-chrome-extension

我希望我的chrome扩展程序保存一些信息,我不知道如何启动代码...我需要它来保存字符串.例如 - 用户输入一个字符串(在弹出窗口的文本区域中),此字符串显示在弹出窗口中.当用户退出并返回时,我希望字符串保持不变.(我相信它必须保存它)我不想将它保存在我的服务器或类似的东西上,我希望它保存在用户缓存或其他东西上.

mat*_*ven 106

您现在也可以利用Google Chrome的storageAPI来执行此操作.与localStorage此不同,这也可以从内容脚本中访问.

//  Somewhere in your manifest...

{
    "permissions": [
        "storage"
    ]
}

//  Usage:

//  PERSISTENT Storage - Globally
//  Save data to storage across their browsers...

chrome.storage.sync.set({ "yourBody": "myBody" }, function(){
    //  A data saved callback omg so fancy
});

chrome.storage.sync.get(/* String or Array */["yourBody"], function(items){
    //  items = [ { "yourBody": "myBody" } ]
});

//  LOCAL Storage

// Save data to storage locally, in just this browser...

chrome.storage.local.set({ "phasersTo": "awesome" }, function(){
    //  Data's been saved boys and girls, go on home
});

chrome.storage.local.get(/* String or Array */["phasersTo"], function(items){
    //  items = [ { "phasersTo": "awesome" } ]
});
Run Code Online (Sandbox Code Playgroud)

有关这些恶作剧如何在这里工作的更多信息:https://developer.chrome.com/extensions/storage#type-StorageArea

以前的回答:

使用localStorage.谷歌浏览器实现了HTML5的一些功能,它就是其中之一.

//Pull text from user inputbox
var data = document.getElementById("this_input").value;
//Save it to the localStorage variable which will always remember what you store in it
localStorage["inputText"] = data; 
Run Code Online (Sandbox Code Playgroud)

您应该注意,您只能从后台页面访问您的存储(没有内容脚本),因此您必须使用消息传递.

  • 现在有一个特定的API:https://developer.chrome.com/extensions/storage (4认同)
  • 谢谢!还有一件事 - 它在哪里得救了?(我在哪里可以找到这个本地存储文件,基本上) (2认同)