2011-09-18 59 views
0

我有一個擴展與另一個分機的後臺頁面進行通信以獲取天氣信息。該應用的發送請求的部分看起來像這樣(分機標識被複制從擴展頁粘貼):通過另一臺分機在鉻上發送請求

chrome.extension.sendRequest(extensionId, {condition: "weather"}, function(response) { 
     console.log("got response"); 
} 

和背景頁是這樣的(這是最重要的組成部分):

chrome.extension.onRequest.addListener(function(request, sender, sendResponse) { 
    if (request.condition == "weather"){ 
      getWeather(function(responseWeather) { 
       console.log(responseWeather); 
       sendResponse({weather: responseWeather}); 
      }); 
    } 
}); 

我有一個彈出式頁面來測試這個功能,它在同一個擴展上工作,但我不能讓交叉擴展部分工作。它不會在發送請求功能中打印「得到響應」。

任何幫助,將不勝感激。謝謝

回答

1

您必須使用onRequestExternal才能收到交叉擴展請求。

chrome.extension.onRequestExternal.addListener(function(request, sender, sendResponse) { 
    //Code here 
}); 
+0

非常感謝。甚至沒有想到要向下滾動半頁並查看事件文檔。 –