使用 chrome.storage.local.get 一次调用可以检索多少个密钥?
how many keys can I retrieve with one call using chrome.storage.local.get?
我写了一个简单的 chrome 扩展,它几乎由一个弹出窗口、内容页面和一个扩展本身将填充的 html 页面(称为 'report')组成单击弹出窗口中的特定按钮时带有数据。
长话短说,有时我需要将 2 个不同的 var 从内容脚本发送到报告页面。为此,我正在使用 chrome.storage.local.get,但似乎我只能检索传递的 2 个键中的一个。
这是来自内容脚本的代码:
// first part of script where I define what rankingArray and logsArray are
function saveLogs() {
chrome.storage.local.set({
ranking: rankingArray
}, function() {
console.log("chrome.storage.local.set on rankingArray");
});
chrome.storage.local.set({
logs: logsArray
}, function() {
console.log("chrome.storage.local.set on logsArray");
});
}
这是来自 report.js 页面的代码(显然是在 report.html 上):
function getRecords() {
chrome.storage.local.get(['ranking', 'logs'], function(result){
var obj = result.ranking;
var test = result.logs + "";
console.log('logs:\n' + test); // this one actually print on the console of report.html
console.log('ranking:\n' + obj); // this one returns empty ('ranking: ')
// more stuff to do with obj and test
});
console.log("end of - @getRecords()");
}
所以我多次检查了密钥名称和所有内容,但我无法弄清楚是什么阻止了它的工作。
我现在的疑问是:按照我的方式使用 chrome.storage.local.get 是否正确?它可以同时检索 2 组不同的值吗?
问题可以关闭 - 根据我上面的评论,问题是由脚本逻辑中的错误引起的。基本上我的脚本在到达说明之前重新加载内容页面是 rankingArray 已填充 - 一旦修复一切都按预期工作。
我写了一个简单的 chrome 扩展,它几乎由一个弹出窗口、内容页面和一个扩展本身将填充的 html 页面(称为 'report')组成单击弹出窗口中的特定按钮时带有数据。
长话短说,有时我需要将 2 个不同的 var 从内容脚本发送到报告页面。为此,我正在使用 chrome.storage.local.get,但似乎我只能检索传递的 2 个键中的一个。
这是来自内容脚本的代码:
// first part of script where I define what rankingArray and logsArray are
function saveLogs() {
chrome.storage.local.set({
ranking: rankingArray
}, function() {
console.log("chrome.storage.local.set on rankingArray");
});
chrome.storage.local.set({
logs: logsArray
}, function() {
console.log("chrome.storage.local.set on logsArray");
});
}
这是来自 report.js 页面的代码(显然是在 report.html 上):
function getRecords() {
chrome.storage.local.get(['ranking', 'logs'], function(result){
var obj = result.ranking;
var test = result.logs + "";
console.log('logs:\n' + test); // this one actually print on the console of report.html
console.log('ranking:\n' + obj); // this one returns empty ('ranking: ')
// more stuff to do with obj and test
});
console.log("end of - @getRecords()");
}
所以我多次检查了密钥名称和所有内容,但我无法弄清楚是什么阻止了它的工作。
我现在的疑问是:按照我的方式使用 chrome.storage.local.get 是否正确?它可以同时检索 2 组不同的值吗?
问题可以关闭 - 根据我上面的评论,问题是由脚本逻辑中的错误引起的。基本上我的脚本在到达说明之前重新加载内容页面是 rankingArray 已填充 - 一旦修复一切都按预期工作。