我正在尝试将pair pageUrl:imageUrl保存到chrom本地存储中。这是代码:
function saveImage (href, urlImage)
{
var dataObj = {href:urlImage};
dataObj[href] = urlImage;
chrome.storage.local.set(dataObj);
console.log("Image url has been saved into storage "+href);
}
function tryLoadCachedImageUrl(hrefObj)
{
console.log("Trying to load image from storage: "+hrefObj.href);
chrome.storage.local.get(hrefObj.href,
function(result){
loadImages(result,hrefObj);
});
}
chrome.storage.local.get导致异常:
对storage.get的响应错误:ReferenceError:未定义obj
hrefObj.href包含等于pageUrl
的字符串,该字符串已保存在saveImage
我做错了什么?
答案 0 :(得分:0)
[对于在此页面上遇到类似情况的任何人]
错误在loadImages
。它似乎试图访问未定义的obj
变量。
var dataObj = {href:urlImage};
dataObj[href] = urlImage;
dataObj["href"] = urlImage;
(显然不是你想要的)
预期的方式是:
var dataObj = {}; // <-- create an empty object
dataObj[href] = urlImage; // <-- the value of the `href` variable
// is used as the key (not the string "href")
[ 注意:这不会导致问题,这只是不好的做法 - 如果没有别的话会“伤害”代码清晰度。]