我目前在我的背景和内容脚本之间的沟通方面存在问题。问题是它们可以通信,但似乎是异步的。
让我告诉你我的代码。
你的工具栏.js
chrome.extension.sendRequest({getStatut : "none"}, function(response)
{
console.log('yourToolbar : ' + response.statut);
localStorage['activated'] = response.statut;
});
if (localStorage['activated'] == "show")
{
// injection
}
背景.js
chrome.extension.onRequest.addListener(function(request, sender, sendResponse)
{
if(request.getStatut)
{
console.log('Background : ' + localStorage['activated']);
sendResponse({statut : localStorage['activated']});
}
else if(request.modifyToolbar)
{
if (request.modifyToolbar == "hideToolbar")
{
localStorage['activated'] = "hide";
}
}
});
真正的问题是,当我隐藏工具栏时,工具栏仅在再刷新 1 次后才会消失。所以看起来通信不是最新的......当我在控制台上打印“激活”的值时,它向我展示了良好的价值,但显然 yourtoolbar.js 上的条件测试了“激活”的先前值
有人有想法吗?
编辑:一个奇怪的想法是,如果我在条件之前添加一个警报,它会完美地工作......
alert(ocalStorage['activated']);
if (ocalStorage['activated']== "show")
{