javascript - 无法在 Chrome 存储中存储和检索

标签 javascript google-chrome google-chrome-app

首先,如果这个问题听起来与其他问题相似,我深表歉意。我做了很多研究,我想我无法将我的情况和其他人使用此 API 遇到的问题拼凑起来。

我正在创建一个 chrome 应用程序,它基本上演示了从 Chrome 存储 API 存储和检索数据的能力。一旦我习惯了这样做,我就可以在我正在制作的更大的应用程序中实现它。

但是,我似乎无法让基本应用正常运行。这是相关代码:

“存储.js”

function Store(key,data) {

    console.log("Data: " + data);

    chrome.storage.local.set({ key: data }, function () {

        console.log("Secret Message Saved!");

    });

}

function Retrieve() {

    chrome.storage.local.get(function (data) {

        console.log("The data stored is:" + data);

    });

}

“master.js”(主脚本)

var myKey = "secretMessage";
var myData = "Pssst!";

Store(myKey, myData);

Retrieve(myKey);

console.log("Done!");

我很迷茫。我得到的输出是:

Data: Pssst!
Done!
Secret Message Saved!
The data stored is:[object Object]

看来我存储错误或检索错误。

我已经查看了文档。也许我只是不理解 API 的概念以及它能够存储和检索的内容。我对使用 javascript 语言进行编码还很陌生。任何帮助将不胜感激!

谢谢!

最佳答案

首先, chrome.storage.local.set & chrome.storage.local.get 是异步方法,你必须等到 chrome.storage.local.set 将数据存储到存储中,然后你应该调用 chrome.storage.local.get

其次, chrome.storage.local.get 正在返回一个对象。您可以使用 .toString()JSON.stringify(data)

查看对象
function Store(key,data, callback) {

    console.log("Data: " + data);

    chrome.storage.local.set({ key: data }, function () {

        console.log("Secret Message Saved!");
        callback(true);

    });

}

function Retrieve(success) {

    chrome.storage.local.get(function (data) {

        console.log("The data stored is:" + JSON.stringify(data));

    });
}

var myKey = "secretMessage";
var myData = "Pssst!";

Store(myKey, myData, Retrieve);

console.log("Done!");

关于javascript - 无法在 Chrome 存储中存储和检索,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37768400/

相关文章:

javascript - 我如何使用 js 或 jquery 序列化具有多个 ID 的多个表单

javascript - 在 mousedown 处理程序中更改可见性属性时,不会在 Safari 或 Firefox 中触发单击处理程序

javascript - Chrome 扩展程序包大小

google-chrome - 如何创建可在企业设备中分发的渐进式 Web 应用程序 apk/任何类型的文件

javascript - 将用户引导至卸载 Chrome 打包应用程序的链接

javascript - 在 Firefox 中使用 document.frames 打印 iFrame

javascript - 使用 map() 的意外逗号

javascript - 数组数据未使用 this.props 在数据表中呈现 - ReactJS

java - 谷歌浏览器上奇怪的空白页

python - Selenium 无法打开指定的 URL 并显示数据 :,