我有一个EventListener
和一个函数generator.gettext
。代码:
var generator = {
gettext: function (mytext) {
//I send a message which is intercepted by my content script.
//Later my content script will send a reply back which will be processed by 'receiver'
window.postMessage({
type: "MESSAGE",
text: mytext
}, "*");
while (generatedtext == "") {
//WAIT until generatedtext is set by 'receiver'
}
return generator.generatedtext;
},
generatedtext: ""
};
function receiver(event) {
if (event.data.type && (event.data.type == "FROM_CONTENTSCRIPT")) {
generator.generatedtext = event.data.text;
}
}
window.addEventListener('message', receiver, false);
我希望它generator.gettext
返回generator.generatedtext
,但我不能让它等到receiver
设置它。我的印象EventListener
是在被调用时被锁定generator.gettext
。我必须对其进行更改,使其变为异步并使用回调参数,但我是新手,不知道如何使其工作。有人可以帮助我吗?
编辑:我想做的是处理网站上的输入。有一个 Javascript 文件,我希望该输入由我的内容脚本处理。我将 javascript 文件重定向到硬盘驱动器上的修改文件。我更改了 javascript 加载输入的行。当我提交文本时,Javascript 文件调用类似于var message = generator.gettext(mytext.value);
我上面的代码的东西被注入到页面中,并且必须将 mytext 发送到我的内容脚本,并且必须返回我的内容脚本的输出。