我正在从插件(从popup.html调用)向后台脚本传递字符串变量。我正在接收字符串,但是无法在后台脚本中使用侦听器函数的变量OUTSIDE。
plugin.js:
chrome.runtime.sendMessage({'greeting': arbitraryString}, function(response) {});
background.js:
chrome.runtime.onMessage.addListener(
function(result) {
alert("MESSAGE RECIEVED");
alert("arbitraryString: " + result.greeting);
var pw = result.greeting;
}
);
alert('var saved and is: ' + pw);
所有操作都可以处理到最后一个警报,因为pw是未定义的。
我如何通过侦听器函数将var传递到后台脚本内存中,而无需使用存储api,从而使alert('var保存并为:'+ pw);成功吗?
如果成功,pw是否在所有选项卡上都可用于注入脚本?
您应该在侦听器之外声明pw。
var pw;
chrome.runtime.onMessage.addListener(
function(result) {
alert("MESSAGE RECIEVED");
alert("arbitraryString: " + result.greeting);
pw = result.greeting;
}
);