我有这个奇怪的问题:
在 content_script :
function getText(){
var = text;
chrome.extension.sendMessage({}, function(response){
text = response.data;
});
return text;
}
if (getText()) {
console.log('OK')
} else{
console.log('Not OK')
}
在 background.js :
var text = 'tests';
chrome.extension.onMessage.addListener(function(request, sender, sendResponse){
sendResponse( { 'data': text } );
})
在 return text 行放置断点,然后在控制台上获得 OK .
禁用断点,你只得到 Not OK .
似乎是一些时间问题,比如 text 在返回时没有被定义,除非你通过使用断点给Chrome一些时间 .
manifest.json的:
{
...
"permissions": ["tabs"],
"background": {
"scripts": ["js/background.js"]
},
"content_scripts": [
{
...
"js": [ "js/content_script.js"],
"run_at": "document_end"
}
],
"manifest_version": 2
}
有人可以复制这个吗?
最后
以上就是爱笑自行车最近收集整理的关于java sendmessage函数_在chrome.extension.sendMessage回调函数之外暂时未定义变量的全部内容,更多相关java内容请搜索靠谱客的其他文章。
发表评论 取消回复