0

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

 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});
});

我只是想根据用户更改语音的速率,但它无法显示诸如 Unchecked runtime.lastError: The message port closed before a response 之类的错误。

4

0 回答 0