无法将消息从popup.js发送到event.js

时间:2019-05-04 16:37:10

标签: javascript google-chrome google-chrome-extension google-developer-tools

我正在尝试将用户在popup.html中输入的费率通过popup.js发送到event.js,但是我不知道为什么它不起作用,我试图在event.js中添加警报以查看费率是否来自弹出窗口.js和alert可以正常工作,但是我仍然无法完成所需的工作

 event.js
 var item={
"id":"selected text",
"title":"Speak",
"contexts":["selection"]
   };
var rate; chrome.runtime.onMessage.addListener(function(request,sender,sendResponse){
    if(request.todo=="changerate")
    {
        rate=request.rate;
    }
});
 chrome.contextMenus.create(item);
chrome.contextMenus.onClicked.addListener(function(clickData){


alert(rate);
if(clickData.menuItemId=='selected text' && 
    clickData.selectionText){
    chrome.tts.speak(clickData.selectionText,{'lang':'en- 
    US','rate':parseInt(rate)});
}
   })
 /////////////////////////////////////////
popup.js
$('#submit').click(function(){
var rate=$('#rate').val();
chrome.runtime.sendMessage({todo:"changerate",rate:rate});
});

我只是尝试根据用户更改口语语音的速率,但是它不起作用 显示类似的错误 未经检查的runtime.lastError:消息端口在收到响应之前已关闭。

0 个答案:

没有答案