昨天已經把番茄鐘的整個功能完善了,其他的細節與防呆就不多處理了,如果有興趣的人可以依照連結去github下載下來玩看看,等到後面一點我們再來把作品試著打包與發佈,今天我們就來繼續試著寫新的功能吧!
這個功能是一個比較安全性的服務,他主要是使用『chrome.webRequest』與後台腳本搭配,並且在特定網站下監控http request的工作,所以我們要先做一些功課。
今日主題 :
chrome webRequest
官網定義為可以觀察API請求與流量,甚至可以攔截、修改與駁回
以下為官方提供 請求(requests)的生命週期
而chrome.webRequest就是可以對以下所有事件做監控,但是不同的時間點,可以支援的功能不一樣
所以我有整理了一下功能說明,但詳細的參數設定還是可以在官網查看
接下來介紹:
BlockingResponse
Blocking是基於chrome.webRequest底下的一個服務,用來實際的攔截與修改請求,目前有以下功能:
但它們都在特定的時間點才可以使用,例如authCredentials只有onAuthRequired可以使用,等到我們使用時再看案例吧!
另外還有onActionIgnored事件是在請求修改被忽略的時候會觸發,以及內建的handlerBehaviorChanged事件清除緩存使用,但這些是比較進階的用法我們在此就不多研究囉。
明天就來使用webRequest來開發應用程式吧!
參考文獻:https://crxdoc-zh.appspot.com/extensions/webRequest