Google chrome extension 在chrome.storage.sync中使用密钥
对于JS和扩展来说,这可能是一个新手的错误 我正在使用同步存储APIGoogle chrome extension 在chrome.storage.sync中使用密钥,google-chrome-extension,google-chrome-storage,Google Chrome Extension,Google Chrome Storage,对于JS和扩展来说,这可能是一个新手的错误 我正在使用同步存储API var key = "chromeext_form_26" + tabid ; chrome.storage.sync.set({ String(key), tab1Obj }, function() { if (chrome.runtime.error) { console.log("Runtime error.in setting"); } }); 但这会引发错误,因为它无法将
var key = "chromeext_form_26" + tabid ;
chrome.storage.sync.set({ String(key), tab1Obj }, function() {
if (chrome.runtime.error) {
console.log("Runtime error.in setting");
}
});
但这会引发错误,因为它无法将键识别为字符串。我确实尝试过直接使用“chromeext_form_26”+tabid作为键,它会将对象映射到它自己的“键”
键入chrome.storage.sync.get(null,函数(数据){console.info(数据)})代码>
我可以将映射视为对象{key:“efg”}
您希望动态生成密钥,是吗
在var key
之后添加对象密钥对定义:
var pair={}; pair[key]=tab1Obj;
chrome.storage.sync.set(pair, function(){
你想动态生成密钥,不是吗
在var key
之后添加对象密钥对定义:
var pair={}; pair[key]=tab1Obj;
chrome.storage.sync.set(pair, function(){
请注意的第一个参数是对象,因此您应该使用:
,而不是,
var key = "chromeext_form_26" + tabid ;
chrome.storage.sync.set({ String(key): tab1Obj }, function() {
if (chrome.runtime.error) {
console.log("Runtime error.in setting");
}
});
请注意的第一个参数是对象,因此您应该使用:
,而不是,
var key = "chromeext_form_26" + tabid ;
chrome.storage.sync.set({ String(key): tab1Obj }, function() {
if (chrome.runtime.error) {
console.log("Runtime error.in setting");
}
});
因为chrome扩展是特定于浏览器的,所以您可以使用ES6功能,而不必担心兼容性。ES6添加了计算属性名称,允许您直接在对象声明中计算属性名称,如下所示:
chrome.storage.sync.set({[key]:tab1Obj},function(){
// ...
});
因为chrome扩展是特定于浏览器的,所以您可以使用ES6功能,而无需担心兼容性。ES6添加了计算属性名称,允许您直接在对象声明中计算属性名称,如下所示:
chrome.storage.sync.set({[key]:tab1Obj},function(){
// ...
});