0

我正在尋找一種方法來從Chrome擴展中同步發送和接收消息。這個想法是以同步的方式從傳統網頁(網絡應用程序)中調用我的擴展中定義的函數,這樣我就不必等待才能收到結果。與Chrome擴展同步通信

不幸的是,我讀了Synchronous message passing in chrome extensions?https://code.google.com/p/chromium/issues/detail?id=135095。兩人都說這是不可能的。

但我認爲XMLHttpRequest可以進行同步調用。

我知道這當然是不可能的,但我問無論如何..會有一種方法來使用XMLHttpRequest對象的方式,我們可以與擴展同步溝通?

回答

0

我很抱歉,但答案仍然是沒有。我不明白爲什麼使用XMLHttpRequests將有助於完成與Chrome API完成(異步)的任何操作,但是假設您已在某個頁面內運行了一些content_script.js,並且您需要發送消息給background.js您將如何通過使用XMLHttpRequest來完成此操作?向您的background.js發出請求不會讓您有機會運行其代碼,但只能讀取它。這是因爲background.js中使用的大多數API方法在內容腳本中不可用。對於在Chrome擴展中發生的任何其他異步操作,情況也是如此。

所以這裏的問題是,Chrome擴展不能使用XMLHttpRequest s在其環境,因此,你不能以這種方式使用它們。

+0

謝謝你的回答。我想也許有人會有一些解決方法,但實際上你的回答是有道理的。再次感謝 – Sam 2014-10-08 08:07:32

+0

@Sam如果我的答案解決了您的問題,那麼請考慮將其標記爲正確,以關閉您的問題並讓其他人輕鬆找到答案。 – 2014-10-08 08:31:30