webRequest.BlockingResponse

當事件監聽器的 extraInfoSpec 引數中設定了 "blocking" 時,會返回此型別的物件。

透過設定 BlockingResponse 中的特定屬性,監聽器可以修改網路請求。

請注意,您不能在每個監聽器中設定此物件的所有屬性:可以設定的屬性取決於觸發該監聽器的事件,具體如下所述。

型別

此型別的值是物件。它們包含以下屬性:

authCredentials 可選

object。如果設定了此屬性,請求將使用提供的憑據進行。您只能在 onAuthRequired 中設定此屬性。authCredentials 屬性是一個包含以下屬性的物件:

username

string。要提供的使用者名稱。

密碼

string。要提供的密碼。

cancel 可選

boolean。如果為 true,則取消請求。您只能在 onBeforeRequestonBeforeSendHeadersonHeadersReceivedonAuthRequired 中設定此屬性。

redirectUrl 可選

string。這是一個 URL,如果設定了此屬性,原始請求將被重定向到該 URL。您只能在 onBeforeRequestonHeadersReceived 中設定此屬性。

允許重定向到非 HTTP 協議(例如 data:)的 URL。除非重定向是從 onHeadersReceived 階段發起的,否則重定向將使用與原始請求相同的請求方法。如果是從 onHeadersReceived 階段發起的,則重定向使用 GET 方法。

如果擴充套件程式想將公共(例如 HTTPS)URL 重定向到 擴充套件程式頁面,則該擴充套件程式的 manifest.json 檔案必須包含一個 web_accessible_resources 鍵,其中列出了擴充套件程式頁面的 URL。

requestHeaders 可選

webRequest.HttpHeaders。這是一個 HttpHeaders 物件,一個數組,其中每個物件代表一個頭部。如果設定了此屬性,請求將使用這些頭部而不是原始頭部進行。您只能在 onBeforeSendHeaders 中設定此屬性。

responseHeaders 可選

webRequest.HttpHeaders。這是一個 HttpHeaders 物件,一個數組,其中每個物件代表一個頭部。如果設定了此屬性,伺服器將被假定為響應了這些響應頭部而不是原始頭部。您只能在 onHeadersReceived 中設定此屬性。如果多個擴充套件程式嘗試設定相同的頭部(例如 Content-Security-Policy),則只有一個更改會成功。

upgradeToSecure 可選

boolean。如果設定為 true 且原始請求是 HTTP 請求,這將阻止傳送原始請求,而是發起一個安全的(HTTPS)請求。如果任何擴充套件程式在 onBeforeRequest 中返回了 redirectUrl,則 upgradeToSecure 將被忽略。您只能在 onBeforeRequest 中設定此屬性。

瀏覽器相容性

注意: 此 API 基於 Chromium 的 chrome.webRequest API。本文件源自 Chromium 程式碼中的 web_request.json