我正在尝试编写一个简单的 chrome 扩展,但在尝试从我的内容脚本“auto.js”访问 options.html 的本地存储时遇到了一些困难。
根据我收集到的信息(谷歌搜索和阅读 Chrome 令人困惑的文档),这只能通过以下方式实现:
chrome.runtime.sendMessage & chrome.runtime.onMessage.addListener
内容脚本“auto.js”:
var quantity = ""
var shoe_size = ""
function addToCart() {
chrome.runtime.sendMessage({localstorage: "qty"}), function(response){
var quantity = response.qty;
}
chrome.runtime.sendMessage({localstorage: "size"}), function(response){
var shoe_size = response.size;
}
...
我在“options.js”中的听众:
chrome.runtime.onMessage.addListener(
function(request, sender, sendResponse){
if(request.localstorage == "qty")
sendResponse({qty: localStorage.qty});
else if(request.localstorage == "size")
sendResponse({size: localStorage.size});
else
sendResponse({});
});
...
问题是我的 vars quantity
&shoe_size
从未设置为 html 本地存储中的“返回”值。
我的 js 控制台中没有给出错误,我不确定如何调试它。非常感谢任何反馈。