0

我正面臨從Chrome擴展程序(popup.html)發送消息到注入選定選項卡的腳本的問題。在popup.html的代碼如下:從擴展程序發送郵件到標籤

alert("sending MSG"); 
chrome.tabs.sendMessage(null, {greeting: "hello"}, function(response) { 
console.log(response.farewell); 
}); 
alert("MSG send"); 

的問題是,只有「發送味精」警報顯示,但第二警報「MSG發送」不顯示。這就像它阻止了代碼。

即使當我使用這個功能:

chrome.tabs.getSelected(null, function(tab) { 
chrome.tabs.sendMessage(tab.id, {greeting: "hello"}, function(response) { 
console.log(response.farewell); alert("MSG sent _ in"); 
             }); 
         }); 
alert("MSG send _ out"); 

在這裏,我得到了同樣的問題:「MSG發送出去_」顯示,但「MSG發送_在」不是。 如果有人對這個問題有任何想法,請告訴我。

回答

0

如果你看彈出檢查器,你可以看到你的彈出將有一個運行時錯誤,因此最後alert不起作用。

解決方法很簡單, 你應該使用chrome.extension.sendMessage代替chrome.tabs.sendMessage

alert("sending MSG"); 
chrome.extension.sendMessage(null, {greeting: "hello"}, function(response) { 
    console.log(response.farewell); 
}); 
alert("MSG send"); 
相關問題