2012-02-09 85 views
2

我試圖使背景頁面與Google Chrome瀏覽器擴展程序中的彈出窗口進行通信。Chrome擴展程序:將請求從背景頁面發送到彈出窗口

我設法使其工作的另一種方式,但由於某種原因,它現在不工作。

// background.html 
chrome.tabs.getSelected(null, function(tab) { 
     chrome.tabs.sendRequest(tab.id, { 
      method: 'countDown', 
      seconds: seconds, 
      id: id 
     }, function(response) { 
      console.log(response.farewell); 
     }); 
    }); 

// popup.html 
chrome.extension.onRequest.addListener(function(request, sender, sendResponse) { 
     console.log('request from background'); 

     if(request.method == 'countDown') { 
      console.log(request.seconds); 

      //countDown(request.id); 
     } 

     sendResponse({}); 
    }); 

權限是正確的(背景,選項卡),但它似乎是背景沒有發出請求。

回答

1

您的代碼執行chrome.tabs.sendRequest,該代碼用於與已注入選項卡的內容腳本進行通信。如果您想與分機的彈出式窗口進行通信,請改用chrome.extension.sendRequest

+0

哇,這是有效的。不知道爲什麼我使用chrome.tabs,可能文檔有點混亂http://code.google.com/chrome/extensions/messaging.html – 2012-02-09 10:43:01

+0

您可以在http://new.crbug.com提交請求/注意到混亂?如果有一些簡單的東西,我們可以添加到那個可以清楚地說明這個用例的頁面,我很樂意去做。 – 2012-02-09 10:45:20

+0

這可能並不令人困惑,我只是誤解了文檔。 – 2012-02-09 11:09:18

相關問題