2011-04-02 80 views
1

現在,我通過在後臺創建I幀實現的解決方案,所以它處理請求,但是它非常不信任的解決方案+矯枉過正,我有一些像400個文件他們中的每一個使用sendRequest將方法,我無法將它們合併到一個文件,因爲它們由依賴裝載機(酒吧子架構)加載,現在有另一種解決方案,我已經讓他證明概念的-,使用MessageChannel在後臺& postMessage的,但問題是,對於contentScript或在我的定義前臺,我仍然需要使用chrome API在後臺和frontstage之間傳遞消息。如何使用Chrome擴展API從後臺向後臺發送請求?

如何解決這個問題呢?:)

+1

從更好的語法開始,然後致力於明確您的問題。 – mattsven 2011-04-02 15:40:59

+0

嗯我來自以色列,我的英語不是我強大的一面,這是我能做的最好的:) – 2011-04-02 20:59:26

回答

1

認爲我知道你的意思。你有幾個js文件都在背景頁面上,並且希望他們能夠sendRequest到彼此。你可以通過不實際做sendRequest來做到這一點,但可以調用一個函數。這也可能是用一個例子更好:

取而代之的是:

chrome.extension.onRequest.addListener(function(request, sender, respond) 
{ 
    // bla bla handle request 
}); 

而且這樣的:

chrome.extension.sendRequest({ message: "hello" }, function(response) 
{ 
    // do something with response 
}); 

你這樣做:

function handle_message(request, sender, respond) 
{ 
    // bla bla handle request 
} 
chrome.extension.onRequest.addListener(handle_message); 

而且這樣的:

handle_message({ message: "hello" }, function(response) 
{ 
    // do something with response 
}); 

當然,不在背景頁面上的腳本仍然會執行sendRequest s。