我目前正在将我的一个用户脚本转换为 chrome 扩展。我仍然坚持的唯一一件事是成功地将 localStorage 值存储在我的内容脚本中的变量中。我将在这里举一个例子,其他的类似但有不同的名称。
var REMOVE_WARNINGS;
chrome.extension.sendRequest({method: "REMOVE_WARNINGS"}, function(response) {
console.log(response.status);
REMOVE_WARNINGS = response.status == "true";
});
如您所见,我在我的扩展程序的 localStorage 中查询分配给“REMOVE_WARNINGS”的值。我这样做是因为在内容脚本的后面,会检查此变量以查看它是否必须执行某些操作。原始值通过 HTML 选项(true 或 false)通过选项页面在 localStorage 中分配,这没有问题。值“true”(或“false”)成功返回到内容脚本的方法并打印在控制台中,因为我已经检查过了。不起作用的是将值分配给我的内容脚本中的全局变量REMOVE_WARNINGS 。
我尝试了一些选项,包括REMOVE_WARNINGS = response.status;
,REMOVE_WARNINGS = response.status == "true";
并且我还尝试删除控制台输出行,认为它可能会破坏性地打印。这些选项似乎都没有成功地将布尔值“true”或“false”存储在全局变量中,因为脚本没有执行它应该执行的操作。
有人看到我在这里做错了吗?在这一点上我完全迷失了,特别是因为清楚地阅读价值是没有问题的。它将它存储在内容脚本的全局变量中,这就是问题所在。
干杯肯尼斯