我有这个奇怪的问题:
上content_script
:
函数获取文本(){ var = 文本; chrome.extension.sendMessage({}, function(response){ 文本=响应数据; }); 返回文本; } 如果(getText()){ console.log('OK') } 别的{ console.log('不行') }
上background.js
:
var text = '测试'; chrome.extension.onMessage.addListener(function(request, sender, sendResponse){ 发送响应({'数据':文本}); })
在 line 上放置一个断点return text
,你就可以OK
进入控制台。
禁用断点,你只会得到Not OK
.;
似乎是一些时间问题,比如text
在返回时没有定义,除非你通过使用断点给 Chrome 一些时间。
清单.json:
{ ... “权限”:[“标签”], “背景”: { “脚本”:[“js/background.js”] }, “内容脚本”:[ { ... “js”:[“js/content_script.js”], “run_at”:“document_end” } ], “清单版本”:2 }
有人可以重现这个吗?