0

我有一個關於消息傳遞(content_script.js發送請求和background.html發送響應)和JQuery $(document).ready()函數之間執行控制的問題。谷歌瀏覽器擴展消息傳遞run_at document_start

我已經在清單文件中根據doc設置了「run_at」:「document_start」。 content_script.js將在css之後和任何腳本之前執行。在這種情況下,比如content_script.js改變html頁面的背景顏色,可以改變頁面顏色的函數將在任何腳本之前被調用。

我的問題是關於content_script.js和background.html之間的消息傳遞。

如果我在下面是正確的: 例如

chrome.extension.sendRequest({storage: 'foo'}, function(response) { 
     runAfterResponseReceived();}); 

在content_script.js定義的事件,任何腳本運行之前請求將被髮送到後臺頁面。只要發送此請求,就可以運行其他腳本,而不必等待響應返回(解除阻止)。所以當響應返回時,content_script.js找到空閒時間,並執行函數runAfterResponseReceived()。

然後,我怎樣才能改變這個阻塞行爲,所以我可以讓「任何腳本」在響應返回後執行。

我希望我已經解釋了我的問題。 謝謝。

回答