0

我創建了一個測試Web服務器,我用它來充當各種「網頁過濾器」。我正在嘗試創建一個使用webRequest API的擴展程序,以確保我的Web服務器允許或阻止所有傳入的URL。Chrome擴展webRequest異步調用的同步行爲

要做到這一點,我從webRequest到我的web服務器進行AJAX調用,我想使用響應來確定是否阻止或允許指定的URL。問題是,webRequest方法是異步的,並且AJAX調用是異步的,所以我不能等待來自服務器的響應。

我也不能在localStorage中存儲所有被阻止/允許的URL,因爲可能有成千上萬個URL。我試過在jQuery的AJAX實現中使用jQuery的async: false屬性,但當數百個請求同時發生時,這使得瀏覽器幾乎完全無法使用。任何人有任何想法,我可以如何解決這個問題?

編輯:我知道類似的問題已經被問到過,但沒有任何可行的解決方案來解決我所見過的這個問題。

回答

0

我只看到兩個不錯的選擇:

  1. 使該網站的webproxy
  2. 使用unlimitedStorage許可,並存儲在數據庫中的WebSQL的URL(它也是最快的)。儘管人們普遍擔心它在W3C停止開發支持IndexedDB的規範後可能會在Chrome中被棄用,但我認爲它不會很快發生,因爲全部是其他可用存儲選項要麼[慢]要麼慢功能。