Deskripsi
Gunakan chrome.webRequest
API untuk mengamati dan menganalisis traffic, serta untuk menangkap, memblokir, atau mengubah permintaan yang sedang berlangsung.
Izin
webRequest
Anda harus menyatakan izin "webRequest"
dalam manifes ekstensi untuk menggunakan permintaan web
API, beserta izin host yang diperlukan. Untuk mencegat permintaan sub-resource, metode
ekstensi harus memiliki akses ke URL yang diminta dan inisiatornya. Contoh:
{
"name": "My extension",
...
"permissions": [
"webRequest"
],
"host_permissions": [
"*://*.google.com/*"
],
...
}
webRequestBlocking
Diperlukan untuk mendaftarkan pengendali peristiwa pemblokiran. Mulai Manifes V3, ini hanya tersedia untuk ekstensi yang diinstal kebijakan.
webRequestAuthProvider
Diperlukan untuk menggunakan metode onAuthRequired
. Lihat
Menangani autentikasi.
Konsep dan penggunaan
Siklus proses permintaan
API permintaan web menentukan kumpulan peristiwa yang mengikuti siklus proses permintaan web. Anda dapat menggunakan peristiwa ini untuk mengamati dan menganalisis lalu lintas. Peristiwa sinkron tertentu akan memungkinkan Anda mencegat, memblokir, atau mengubah permintaan.
Siklus proses peristiwa untuk permintaan yang berhasil diilustrasikan di sini, yang diikuti dengan definisi peristiwa:
onBeforeRequest
(sinkron opsional)- Diaktifkan saat permintaan akan dilakukan. Peristiwa ini dikirim sebelum koneksi TCP dibuat dan dapat digunakan untuk membatalkan atau mengalihkan permintaan.
onBeforeSendHeaders
(sinkron opsional)- Diaktifkan saat permintaan akan terjadi dan header awal telah disiapkan. Acara ini
yang dimaksudkan untuk mengizinkan ekstensi menambahkan, mengubah, dan menghapus header permintaan (*). Tujuan
Peristiwa
onBeforeSendHeaders
diteruskan ke semua pelanggan, jadi pelanggan yang berbeda mungkin mencoba mengubah permintaan; lihat bagian Detail penerapan untuk mengetahui cara menanganinya. Acara ini dapat digunakan untuk membatalkan permintaan. onSendHeaders
- Kebakaran setelah semua ekstensi berkesempatan mengubah header permintaan, dan menyajikan hasil akhir Versi (*). Peristiwa tersebut dipicu sebelum header dikirim ke jaringan. Acara ini bersifat informatif dan ditangani secara asinkron. Perubahan atau pembatalan permintaan tidak diizinkan.
onHeadersReceived
(sinkron opsional)- Diaktifkan setiap kali header respons HTTP(S) diterima. Dikarenakan pengalihan dan autentikasi hal ini bisa terjadi beberapa kali per permintaan. Peristiwa ini dimaksudkan untuk mengizinkan ekstensi untuk menambah, mengubah, dan menghapus header respons, seperti header Content-Type yang masuk. Penyimpanan dalam cache diproses sebelum peristiwa ini dipicu, jadi mengubah header seperti Cache-Control tidak berpengaruh pada {i>cache<i} browser. Hal ini juga memungkinkan Anda membatalkan atau mengalihkan permintaan.
onAuthRequired
(sinkron opsional)- Diaktifkan saat permintaan memerlukan autentikasi pengguna. Peristiwa ini dapat ditangani secara sinkron untuk memberikan kredensial otentikasi. Perlu diperhatikan bahwa ekstensi mungkin memberikan kredensial yang tidak valid. Hati-hati agar tidak memasuki loop tak terhingga dengan memberikan kredensial yang tidak valid secara berulang. Hal ini juga dapat digunakan untuk membatalkan permintaan.
onBeforeRedirect
- Diaktifkan saat pengalihan akan dijalankan. Pengalihan dapat dipicu oleh respons HTTP dalam kode Anda atau dengan ekstensi. Peristiwa ini bersifat informatif dan ditangani secara asinkron. Hal ini tidak mengizinkan Anda dapat mengubah atau membatalkan permintaan.
onResponseStarted
- Diaktifkan saat byte pertama dari isi respons diterima. Untuk permintaan HTTP, ini berarti bahwa baris status dan header respons. Peristiwa ini bersifat informatif dan ditangani secara asinkron. Perubahan atau pembatalan permintaan tidak diizinkan.
onCompleted
- Diaktifkan saat permintaan berhasil diproses.
onErrorOccurred
- Diaktifkan saat permintaan tidak berhasil diproses.
API permintaan web menjamin bahwa untuk setiap permintaan, onCompleted
atau onErrorOccurred
diaktifkan sebagai peristiwa terakhir dengan satu pengecualian: Jika permintaan dialihkan ke URL data://
,
onBeforeRedirect
adalah peristiwa yang terakhir dilaporkan.
* Perhatikan bahwa API permintaan web menyajikan abstraksi stack jaringan ke ekstensi. Secara internal, satu permintaan URL dapat dibagi menjadi beberapa permintaan HTTP (misalnya, untuk mengambil satu per satu mulai dari file besar) atau dapat ditangani oleh tumpukan jaringan tanpa berkomunikasi dengan jaringan. Karena alasan ini, API tidak menyediakan header HTTP final yang dikirim ke jaringan. Misalnya, semua header yang terkait dengan penyimpanan dalam cache tidak akan terlihat oleh ekstensi.
Header berikut saat ini tidak disediakan untuk peristiwa onBeforeSendHeaders
. Daftar ini
tidak dijamin lengkap atau stabil.
- Otorisasi
- Cache-Control
- Koneksi
- Panjang Konten
- Host
- Jika telah Diubah Sejak
- Jika Tidak Ada Kecocokan
- Jika-Rentang
- Data Parsial
- Pragma
- Otorisasi Proxy
- {i>Proxy-Connection<i}
- Transfer-Encoding
Mulai Chrome 79, perubahan header permintaan akan memengaruhi Cross-Origin Resource Sharing (CORS)
pemeriksaan. Jika header yang dimodifikasi untuk permintaan lintas origin tidak memenuhi kriteria, hal ini akan menyebabkan
mengirimkan preflight CORS untuk menanyakan
ke server apakah header tersebut dapat diterima. Jika Anda benar-benar perlu
mengubah header dengan cara yang melanggar protokol CORS, Anda harus menentukan 'extraHeaders'
di
opt_extraInfoSpec
. Di sisi lain, modifikasi header respons tidak berfungsi untuk mengelabui CORS
pemeriksaan. Jika perlu menipu protokol CORS, Anda juga perlu menentukan 'extraHeaders'
untuk
modifikasi respons.
Mulai Chrome 79, webRequest API tidak mencegat permintaan preflight CORS dan
respons secara default. Preflight CORS untuk URL permintaan terlihat oleh ekstensi jika ada
pemroses dengan 'extraHeaders'
yang ditentukan di opt_extraInfoSpec
untuk URL permintaan.
onBeforeRequest
juga dapat menggunakan 'extraHeaders'
dari Chrome 79.
Mulai Chrome 79, header permintaan berikut tidak disediakan dan tidak dapat diubah atau
dihapus tanpa menentukan 'extraHeaders'
di opt_extraInfoSpec
:
- Asal
Mulai Chrome 72, jika Anda perlu mengubah respons sebelum Pemblokiran Baca Lintas Asal
(CORB) dapat memblokir respons, Anda harus menentukan 'extraHeaders'
di opt_extraInfoSpec
.
Mulai Chrome 72, header permintaan berikut tidak disediakan dan tidak dapat diubah
atau dihapus tanpa menentukan 'extraHeaders'
di opt_extraInfoSpec
:
- Terima-Bahasa
- Accept-Encoding
- Referer
- Cookie
Mulai Chrome 72, header respons Set-Cookie
tidak disediakan dan tidak dapat diubah
atau dihapus tanpa menentukan 'extraHeaders'
dalam opt_extraInfoSpec
.
Mulai Chrome 89, header respons X-Frame-Options
tidak dapat diubah secara efektif
atau dihapus tanpa menentukan 'extraHeaders'
dalam opt_extraInfoSpec
.
webRequest API hanya menampilkan permintaan yang dapat dilihat oleh ekstensi, mengingat host-nya
izin akses. Selain itu, hanya skema berikut yang dapat diakses: http://
, https://
,
ftp://
, file://
, ws://
(sejak Chrome 58), wss://
(sejak Chrome 58), urn:
(sejak Chrome 91), atau
chrome-extension://
. Selain itu, bahkan permintaan tertentu dengan URL yang menggunakan salah satu skema di atas
disembunyikan. Ini termasuk chrome-extension://other_extension_id
jika other_extension_id
tidak
ID ekstensi untuk menangani permintaan, https://www.google.com/chrome
, dan informasi sensitif lainnya
permintaan inti ke fungsi browser. Selain itu, XMLHttpRequests sinkron dari ekstensi Anda juga
disembunyikan dari pengendali peristiwa pemblokiran
untuk mencegah deadlock. Perhatikan bahwa untuk beberapa
skema yang didukung, rangkaian peristiwa yang tersedia mungkin menjadi terbatas karena
protokol yang sesuai. Misalnya, untuk file: skema, hanya onBeforeRequest
,
onResponseStarted
, onCompleted
, dan onErrorOccurred
mungkin dikirim.
Mulai Chrome 58, webRequest API mendukung intersepsi permintaan handshake WebSocket. Karena handshake dilakukan melalui permintaan upgrade HTTP, alurnya akan sesuai dengan orientasi HTTP webRequest. Perhatikan bahwa API tidak mencegat:
- Pesan individual yang dikirim melalui koneksi WebSocket yang tersambung.
- Koneksi penutupan WebSocket.
Pengalihan tidak didukung untuk permintaan WebSocket.
Mulai Chrome 72, ekstensi akan dapat menangkap permintaan hanya jika memiliki host izin ke URL yang diminta dan inisiator permintaan.
Mulai Chrome 96, webRequest API mendukung intersepsi WebTransport melalui HTTP/3 permintaan handshake. Karena handshake dilakukan melalui permintaan HTTP CONNECT, alurnya akan menjadi model webRequest berorientasi HTTP. Perhatikan bahwa:
- Setelah sesi ditetapkan, ekstensi tidak dapat mengamati atau ikut campur dalam sesi melalui webRequest API.
- Mengubah header permintaan HTTP di
onBeforeSendHeaders
akan diabaikan. - Pengalihan dan autentikasi tidak didukung di WebTransport melalui HTTP/3.
ID permintaan
Setiap permintaan diidentifikasi oleh ID permintaan. ID ini bersifat unik dalam sesi browser dan dalam konteks ekstensi. ID ini tetap konstan selama siklus proses permintaan dan dapat digunakan untuk mencocokkan peristiwa permintaan yang sama. Perhatikan bahwa beberapa permintaan HTTP dipetakan ke satu permintaan web jika terjadi pengalihan HTTP atau autentikasi HTTP.
Mendaftarkan pemroses peristiwa
Untuk mendaftarkan pemroses peristiwa untuk permintaan web, gunakan variasi pada setelan addListener()
yang biasa
fungsi. Selain menentukan fungsi callback, Anda harus menentukan argumen filter, dan dapat menentukan argumen info tambahan opsional.
Tiga argumen ke addListener()
API permintaan web memiliki definisi berikut:
var callback = function(details) {...};
var filter = {...};
var opt_extraInfoSpec = [...];
Berikut adalah contoh pemrosesan peristiwa onBeforeRequest
:
chrome.webRequest.onBeforeRequest.addListener(
callback, filter, opt_extraInfoSpec);
Setiap panggilan addListener()
menggunakan fungsi callback wajib sebagai parameter pertama. Callback ini
diteruskan kamus yang berisi informasi tentang permintaan URL saat ini. Tujuan
informasi dalam kamus ini tergantung pada jenis
peristiwa tertentu serta isi dari
opt_extraInfoSpec
.
Jika array opt_extraInfoSpec
opsional berisi string 'blocking'
(hanya diizinkan untuk
peristiwa tertentu), fungsi callback akan ditangani secara sinkron. Artinya, permintaan tersebut
diblokir hingga fungsi callback kembali. Dalam hal ini, callback bisa menampilkan
webRequest.BlockingResponse
yang menentukan siklus proses permintaan lebih lanjut. Bergantung
sesuai konteks, respons ini memungkinkan pembatalan atau pengalihan permintaan (onBeforeRequest
),
membatalkan permintaan atau mengubah header (onBeforeSendHeaders
, onHeadersReceived
), dan
membatalkan permintaan atau memberikan kredensial autentikasi (onAuthRequired
).
Jika array opt_extraInfoSpec
opsional berisi string 'asyncBlocking'
(hanya
diizinkan untuk onAuthRequired
), ekstensi dapat menghasilkan webRequest.BlockingResponse
secara asinkron.
webRequest.RequestFilter
filter
memungkinkan pembatasan permintaan untuk peristiwa yang
dipicu dalam berbagai dimensi:
- URL
- Pola URL seperti
*://www.google.com/foo*bar
. - Jenis
- Jenis permintaan seperti
main_frame
(dokumen yang dimuat untuk bingkai tingkat teratas),sub_frame
(a dokumen yang dimuat untuk bingkai tersemat), danimage
(gambar di situs web). LihatwebRequest.RequestFilter
- Tab ID
- ID untuk satu tab.
- ID Jendela
- ID untuk jendela.
Bergantung pada jenis peristiwa, Anda dapat menentukan string di opt_extraInfoSpec
untuk meminta tambahan
informasi tentang permintaan. Bagian ini digunakan untuk memberikan informasi detail hanya tentang data permintaan
jika diminta secara eksplisit.
Menangani autentikasi
Untuk menangani permintaan autentikasi HTTP, tambahkan "webRequestAuthProvider"
izin ke file manifes:
{
"permissions": [
"webRequest",
"webRequestAuthProvider"
]
}
Perhatikan bahwa izin ini tidak diperlukan untuk ekstensi yang diinstal kebijakan dengan
izin "webRequestBlocking"
.
Untuk memberikan kredensial secara sinkron:
chrome.webRequest.onAuthRequired.addListener((details) => {
return {
authCredentials: {
username: 'guest',
password: 'guest'
}
};
},
{ urls: ['https://httpbin.org/basic-auth/guest/guest'] },
['blocking']
);
Untuk memberikan kredensial secara asinkron:
chrome.webRequest.onAuthRequired.addListener((details, callback) => {
callback({
authCredentials: {
username: 'guest',
password: 'guest'
}
});
},
{ urls: ['https://httpbin.org/basic-auth/guest/guest'] },
['asyncBlocking']
);
Detail implementasi
Beberapa detail implementasi penting untuk dipahami saat mengembangkan ekstensi yang menggunakan API permintaan web:
web_accessible_resources
Jika ekstensi menggunakan webRequest API untuk mengalihkan permintaan resource publik ke resource yang tidak dapat diakses melalui web, ekstensi akan diblokir dan akan menyebabkan error. Hal di atas tetap berlaku meskipun resource yang tidak dapat diakses melalui web dimiliki oleh ekstensi pengalihan. Guna mendeklarasikan resource yang akan digunakan bersama API deklaratif WebRequest, array "web_accessible_resources"
harus dideklarasikan dan diisi dalam manifes seperti yang didokumentasikan di sini.
Resolusi konflik
Dalam implementasi Web Request API saat ini, permintaan dianggap dibatalkan jika
setidaknya satu ekstensi menginstruksikan
untuk membatalkan permintaan. Jika ekstensi membatalkan permintaan, semua
ekstensi diberi tahu oleh peristiwa onErrorOccurred
. Hanya satu ekstensi yang dapat mengalihkan
atau mengubah header sekaligus. Jika ada lebih dari satu ekstensi yang mencoba mengubah permintaan,
ekstensi yang baru diinstal akan menang, dan yang lainnya diabaikan. Ekstensi tidak diberi tahu jika
instruksinya untuk mengubah
atau mengalihkan telah diabaikan.
Menyimpan ke cache
Chrome menggunakan dua cache, yaitu cache di disk dan cache dalam memori yang sangat cepat. Masa hidup seorang
cache dalam memori melekat pada masa aktif proses render, yang kira-kira sesuai dengan tab.
Permintaan yang dijawab dari cache dalam memori tidak terlihat oleh web request API. Jika
perubahan perilaku (misalnya, perilaku berdasarkan permintaan mana yang
diblokir), pemuatan ulang halaman sederhana mungkin tidak mengikuti perubahan perilaku ini. Untuk memastikan perilaku
jika perubahan terjadi, panggil handlerBehaviorChanged()
untuk menghapus cache dalam memori. Tapi, jangan lakukan
sering; membersihkan cache adalah
operasi yang sangat mahal. Anda tidak perlu menelepon
handlerBehaviorChanged()
setelah mendaftarkan atau membatalkan pendaftaran pemroses peristiwa.
Stempel waktu
Properti timestamp
peristiwa permintaan web hanya dijamin konsisten secara internal.
Membandingkan satu acara dengan acara lain akan memberi Anda offset yang benar di antara acara tersebut, namun membandingkan
ke waktu saat ini di dalam ekstensi (misalnya melalui (new Date()).getTime()
) mungkin
memberikan hasil yang tidak diharapkan.
Penanganan error
Jika Anda mencoba mendaftarkan peristiwa dengan argumen yang tidak valid, error JavaScript akan ditampilkan, dan pengendali peristiwa tidak akan terdaftar. Jika kesalahan ditampilkan saat kejadian ditangani atau jika peristiwa menghasilkan respons pemblokiran yang tidak valid, pesan error dicatat ke konsol, dan handler akan diabaikan untuk permintaan itu.
Contoh
Contoh berikut menggambarkan cara memblokir semua permintaan ke www.evil.com
:
chrome.webRequest.onBeforeRequest.addListener(
function(details) {
return {cancel: details.url.indexOf("://www.evil.com/") != -1};
},
{urls: ["<all_urls>"]},
["blocking"]
);
Karena menggunakan pengendali peristiwa pemblokiran, fungsi ini memerlukan "webRequest"
serta
Izin "webRequestBlocking"
dalam file manifes.
Contoh berikut mencapai sasaran yang sama dengan cara yang lebih efisien karena permintaan yang tidak
yang ditargetkan ke www.evil.com
tidak perlu diteruskan ke ekstensi:
chrome.webRequest.onBeforeRequest.addListener(
function(details) { return {cancel: true}; },
{urls: ["*://www.evil.com/*"]},
["blocking"]
);
Contoh berikut menggambarkan cara menghapus header Agen Pengguna dari semua permintaan:
chrome.webRequest.onBeforeSendHeaders.addListener(
function(details) {
for (var i = 0; i < details.requestHeaders.length; ++i) {
if (details.requestHeaders[i].name === 'User-Agent') {
details.requestHeaders.splice(i, 1);
break;
}
}
return {requestHeaders: details.requestHeaders};
},
{urls: ["<all_urls>"]},
["blocking", "requestHeaders"]
);
Untuk mencoba chrome.webRequest
API,
instal contoh webRequest dari chrome-extension-samples
repositori resource.
Jenis
BlockingResponse
Menampilkan nilai untuk pengendali peristiwa yang memiliki tombol 'pemblokiran' extraInfoSpec diterapkan. Memungkinkan pengendali peristiwa mengubah permintaan jaringan.
Properti
-
authCredentials
objek opsional
Hanya digunakan sebagai respons terhadap peristiwa onAuthRequired. Jika ditetapkan, permintaan akan dibuat menggunakan kredensial yang disediakan.
-
sandi
string
-
nama pengguna
string
-
-
batal
boolean opsional
Jika true (benar), permintaan akan dibatalkan. Tindakan ini mencegah permintaan dikirim. Tindakan ini dapat digunakan sebagai respons terhadap peristiwa onBeforeRequest, onBeforeSendHeaders, onHeadersReceived, dan onAuthRequired.
-
redirectUrl
string opsional
Hanya digunakan sebagai respons terhadap peristiwa onBeforeRequest dan onHeadersReceived. Jika ditetapkan, permintaan asli akan dicegah dikirim/diselesaikan dan akan dialihkan ke URL yang diberikan. Pengalihan ke skema non-HTTP seperti
data:
diizinkan. Pengalihan yang dimulai oleh tindakan pengalihan menggunakan metode permintaan asli untuk pengalihan tersebut, dengan satu pengecualian: Jika pengalihan dimulai pada tahap onHeaderReceived, pengalihan akan dikirimkan menggunakan metode GET. Pengalihan dari URL dengan skemaws://
danwss://
diabaikan. -
requestHeaders
HttpHeaders opsional
Hanya digunakan sebagai respons terhadap peristiwa onBeforeSendHeaders. Jika ditetapkan, permintaan akan dibuat dengan header permintaan ini.
-
responseHeaders
HttpHeaders opsional
Hanya digunakan sebagai respons terhadap peristiwa onHeadersReceived. Jika disetel, server diasumsikan telah merespons dengan header respons ini. Hanya tampilkan
responseHeaders
jika Anda benar-benar ingin mengubah header untuk membatasi jumlah konflik (hanya satu ekstensi yang dapat mengubahresponseHeaders
untuk setiap permintaan).
FormDataItem
Berisi data yang diteruskan dalam data formulir. Untuk bentuk yang dienkode dengan URL, data tersebut disimpan sebagai string jika data adalah string utf-8 dan sebagai ArrayBuffer jika sebaliknya. Untuk data formulir, nilainya adalah ArrayBuffer. Jika formulir-data mewakili file yang diupload, ini akan berupa string dengan nama file, jika nama file disediakan.
Enum
ArrayBuffer
string
HttpHeaders
Array header HTTP. Setiap header direpresentasikan sebagai kamus yang berisi kunci name
dan value
atau binaryValue
.
Jenis
object[]
Properti
-
binaryValue
number[] opsional
Nilai header HTTP jika tidak dapat diwakili oleh UTF-8, disimpan sebagai nilai byte terpisah (0..255).
-
nama
string
Nama header HTTP.
-
nilai
string opsional
Nilai header HTTP jika dapat diwakili oleh UTF-8.
IgnoredActionType
Enum
"redirect"
"request_headers"
"response_headers"
"auth_credentials"
OnAuthRequiredOptions
Enum
"responseHeaders"
Menentukan bahwa header respons harus disertakan dalam peristiwa.
"memblokir"
Menentukan permintaan diblokir hingga fungsi callback ditampilkan.
"asyncBlocking"
Menentukan bahwa fungsi callback ditangani secara asinkron.
"extraHeader"
Menentukan bahwa header dapat melanggar Cross-Origin Resource Sharing (CORS).
OnBeforeRedirectOptions
Enum
"responseHeaders"
Menentukan bahwa header respons harus disertakan dalam peristiwa.
"extraHeader"
Menentukan bahwa header dapat melanggar Cross-Origin Resource Sharing (CORS).
OnBeforeRequestOptions
Enum
"memblokir"
Menentukan permintaan diblokir hingga fungsi callback ditampilkan.
"requestBody"
Menentukan bahwa isi permintaan harus disertakan dalam peristiwa.
"extraHeader"
Menentukan bahwa header dapat melanggar Cross-Origin Resource Sharing (CORS).
OnBeforeSendHeadersOptions
Enum
"requestHeaders"
Menentukan bahwa header permintaan harus disertakan dalam peristiwa.
"memblokir"
Menentukan permintaan diblokir hingga fungsi callback ditampilkan.
"extraHeader"
Menentukan bahwa header dapat melanggar Cross-Origin Resource Sharing (CORS).
OnCompletedOptions
Enum
"responseHeaders"
Menentukan bahwa header respons harus disertakan dalam peristiwa.
"extraHeader"
Menentukan bahwa header dapat melanggar Cross-Origin Resource Sharing (CORS).
OnErrorOccurredOptions
Nilai
"extraHeader"
OnHeadersReceivedOptions
Enum
"memblokir"
Menentukan permintaan diblokir hingga fungsi callback ditampilkan.
"responseHeaders"
Menentukan bahwa header respons harus disertakan dalam peristiwa.
"extraHeader"
Menentukan bahwa header dapat melanggar Cross-Origin Resource Sharing (CORS).
OnResponseStartedOptions
Enum
"responseHeaders"
Menentukan bahwa header respons harus disertakan dalam peristiwa.
"extraHeader"
Menentukan bahwa header dapat melanggar Cross-Origin Resource Sharing (CORS).
OnSendHeadersOptions
Enum
"requestHeaders"
Menentukan bahwa header permintaan harus disertakan dalam peristiwa.
"extraHeader"
Menentukan bahwa header dapat melanggar Cross-Origin Resource Sharing (CORS).
RequestFilter
Objek yang menjelaskan filter untuk diterapkan ke peristiwa webRequest.
Properti
-
tabId
angka opsional
-
tipe
ResourceType[] opsional
Daftar jenis permintaan. Permintaan yang tidak cocok dengan jenis apa pun akan difilter.
-
Url
{i>string<i}[]
Daftar URL atau pola URL. Permintaan yang tidak dapat cocok dengan URL mana pun akan difilter.
-
windowId
angka opsional
ResourceType
Enum
"main_frame"
Menentukan resource sebagai frame utama.
"sub_frame"
Menentukan resource sebagai sub-frame.
"stylesheet"
Menentukan resource sebagai stylesheet.
"script"
Menentukan resource sebagai skrip.
"image"
Menentukan resource sebagai gambar.
"font"
Menentukan resource sebagai font.
"object"
Menentukan resource sebagai objek.
"xmlhttprequest"
Menentukan resource sebagai XMLHttpRequest.
"ping"
Menentukan resource sebagai ping.
"csp_report"
Menentukan resource sebagai laporan Kebijakan Keamanan Konten (CSP).
"media"
Menentukan resource sebagai objek media.
"websocket"
Menentukan resource sebagai WebSocket.
"webbundle"
Menentukan resource sebagai WebBundle.
"other"
Menentukan resource sebagai jenis yang tidak disertakan dalam jenis yang tercantum.
UploadData
Berisi data yang diupload pada permintaan URL.
Properti
-
byte
semua opsional
ArrayBuffer dengan salinan data.
-
file
string opsional
String dengan jalur dan nama file.
Properti
MAX_HANDLER_BEHAVIOR_CHANGED_CALLS_PER_10_MINUTES
Jumlah maksimum handlerBehaviorChanged
dapat dipanggil per interval berkelanjutan 10 menit. handlerBehaviorChanged
adalah panggilan fungsi yang mahal dan tidak boleh sering dipanggil.
Nilai
20
Metode
handlerBehaviorChanged()
chrome.webRequest.handlerBehaviorChanged(
callback?: function,
)
Harus dipanggil saat perilaku pengendali webRequest telah berubah untuk mencegah penanganan yang salah karena penyimpanan cache. Panggilan fungsi ini mahal. Jangan sering menelepon.
Parameter
-
callback
fungsi opsional
Parameter
callback
terlihat seperti ini:() => void
Hasil
-
Janji<void>
Chrome 116 dan yang lebih baruPromise didukung di Manifes V3 dan yang lebih baru, tetapi callback disediakan untuk kompatibilitas mundur. Anda tidak dapat menggunakan keduanya pada panggilan fungsi yang sama. Tujuan promise yang di-resolve dengan jenis yang sama dengan yang diteruskan ke callback.
Acara
onActionIgnored
chrome.webRequest.onActionIgnored.addListener(
callback: function,
)
Diaktifkan jika modifikasi yang diusulkan ekstensi pada permintaan jaringan diabaikan. Hal ini terjadi jika terjadi konflik dengan ekstensi lain.
Parameter
-
callback
fungsi
Parameter
callback
terlihat seperti ini:(details: object) => void
-
detail
objek
-
action
Tindakan yang diusulkan yang diabaikan.
-
requestId
string
ID permintaan. ID permintaan bersifat unik dalam sesi browser. Akibatnya, keduanya dapat digunakan untuk mengaitkan berbagai peristiwa dari permintaan yang sama.
-
-
onAuthRequired
chrome.webRequest.onAuthRequired.addListener(
callback: function,
filter: RequestFilter,
extraInfoSpec?: OnAuthRequiredOptions[],
)
Diaktifkan saat kegagalan autentikasi diterima. Pemroses memiliki tiga opsi: dapat memberikan kredensial autentikasi, dapat membatalkan permintaan dan menampilkan halaman error, atau tidak melakukan tindakan apa pun pada verifikasi. Jika kredensial pengguna yang buruk diberikan, kredensial ini dapat dipanggil beberapa kali untuk permintaan yang sama. Perhatikan bahwa hanya salah satu dari mode 'blocking'
atau 'asyncBlocking'
yang harus ditentukan dalam parameter extraInfoSpec
.
Parameter
-
callback
fungsi
Parameter
callback
terlihat seperti ini:(details: object, asyncCallback?: function) => BlockingResponse | undefined
-
detail
objek
-
penantang
objek
Server yang meminta autentikasi.
-
host
string
-
port
angka
-
-
documentId
string
Chrome 106 dan yang lebih baruUUID dokumen yang membuat permintaan.
-
documentLifecycleChrome 106 dan yang lebih baru
Siklus proses dokumen berada.
-
frameId
angka
Nilai 0 menunjukkan bahwa permintaan terjadi di frame utama; nilai positif menunjukkan ID subframe tempat permintaan terjadi. Jika dokumen dari frame (sub) dimuat (
type
adalahmain_frame
atausub_frame
),frameId
menunjukkan ID frame ini, bukan ID frame luar. ID frame bersifat unik dalam satu tab. -
frameTypeChrome 106 dan yang lebih baru
Jenis frame tempat permintaan terjadi.
-
inisiator
string opsional
Chrome 63 dan yang lebih baruAsal tempat permintaan dimulai. Hal ini tidak berubah melalui pengalihan. Jika asal ini buram, string 'null' data yang akan digunakan.
-
isProxy
boolean
True untuk Proxy-Authenticate, false untuk WWW-Authenticate.
-
method
string
Metode HTTP standar.
-
parentDocumentId
string opsional
Chrome 106 dan yang lebih baruUUID dokumen induk yang memiliki frame ini. ID ini tidak disetel jika tidak ada induk.
-
parentFrameId
angka
ID frame yang menggabungkan frame yang mengirim permintaan. Setel ke -1 jika tidak ada frame induk.
-
realm
string opsional
Area autentikasi yang disediakan oleh server, jika ada.
-
requestId
string
ID permintaan. ID permintaan bersifat unik dalam sesi browser. Akibatnya, keduanya dapat digunakan untuk mengaitkan berbagai peristiwa dari permintaan yang sama.
-
responseHeaders
HttpHeaders opsional
Header respons HTTP yang diterima bersama respons ini.
-
skema
string
Skema autentikasi, misalnya {i>Basic<i} atau {i>Digest<i}.
-
statusCode
angka
Chrome 43 dan yang lebih baruKode status HTTP standar yang ditampilkan oleh server.
-
statusLine
string
Baris status HTTP respons atau 'HTTP/0.9 200 OK' string untuk respons HTTP/0.9 (yaitu, respons yang tidak memiliki baris status) atau string kosong jika tidak ada header.
-
tabId
angka
ID tab tempat permintaan terjadi. Tetapkan ke -1 jika permintaan tidak terkait dengan tab.
-
timeStamp
angka
Waktu saat sinyal ini dipicu, dalam milidetik sejak epoch.
-
jenis
Cara penggunaan resource yang diminta.
-
url
string
-
-
asyncCallback
fungsi opsional
Chrome 58 atau yang lebih baruParameter
asyncCallback
terlihat seperti ini:(response: BlockingResponse) => void
-
respons
-
-
akan menampilkan
BlockingResponse | tidak ditentukan
Jika "memblokir" ditentukan dalam "extraInfoSpec" , pemroses peristiwa akan menampilkan objek jenis ini.
-
-
filter
-
extraInfoSpec
OnAuthRequiredOptions[] opsional
onBeforeRedirect
chrome.webRequest.onBeforeRedirect.addListener(
callback: function,
filter: RequestFilter,
extraInfoSpec?: OnBeforeRedirectOptions[],
)
Diaktifkan saat pengalihan yang dimulai server akan terjadi.
Parameter
-
callback
fungsi
Parameter
callback
terlihat seperti ini:(details: object) => void
-
detail
objek
-
documentId
string
Chrome 106 dan yang lebih baruUUID dokumen yang membuat permintaan.
-
documentLifecycleChrome 106 dan yang lebih baru
Siklus proses dokumen berada.
-
frameId
angka
Nilai 0 menunjukkan bahwa permintaan terjadi di frame utama; nilai positif menunjukkan ID subframe tempat permintaan terjadi. Jika dokumen dari frame (sub) dimuat (
type
adalahmain_frame
atausub_frame
),frameId
menunjukkan ID frame ini, bukan ID frame luar. ID frame bersifat unik dalam satu tab. -
frameTypeChrome 106 dan yang lebih baru
Jenis frame tempat permintaan terjadi.
-
fromCache
boolean
Menunjukkan apakah respons ini diambil dari cache disk.
-
inisiator
string opsional
Chrome 63 dan yang lebih baruAsal tempat permintaan dimulai. Hal ini tidak berubah melalui pengalihan. Jika asal ini buram, string 'null' data yang akan digunakan.
-
ip
string opsional
Alamat IP server yang menjadi tujuan pengiriman permintaan. Perhatikan bahwa ini mungkin berupa alamat IPv6 literal.
-
method
string
Metode HTTP standar.
-
parentDocumentId
string opsional
Chrome 106 dan yang lebih baruUUID dokumen induk yang memiliki frame ini. ID ini tidak disetel jika tidak ada induk.
-
parentFrameId
angka
ID frame yang menggabungkan frame yang mengirim permintaan. Setel ke -1 jika tidak ada frame induk.
-
redirectUrl
string
URL baru.
-
requestId
string
ID permintaan. ID permintaan bersifat unik dalam sesi browser. Akibatnya, keduanya dapat digunakan untuk mengaitkan berbagai peristiwa dari permintaan yang sama.
-
responseHeaders
HttpHeaders opsional
Header respons HTTP yang diterima bersama dengan pengalihan ini.
-
statusCode
angka
Kode status HTTP standar yang ditampilkan oleh server.
-
statusLine
string
Baris status HTTP respons atau 'HTTP/0.9 200 OK' string untuk respons HTTP/0.9 (yaitu, respons yang tidak memiliki baris status) atau string kosong jika tidak ada header.
-
tabId
angka
ID tab tempat permintaan terjadi. Tetapkan ke -1 jika permintaan tidak terkait dengan tab.
-
timeStamp
angka
Waktu saat sinyal ini dipicu, dalam milidetik sejak epoch.
-
jenis
Cara penggunaan resource yang diminta.
-
url
string
-
-
-
filter
-
extraInfoSpec
OnBeforeRedirectOptions[] opsional
onBeforeRequest
chrome.webRequest.onBeforeRequest.addListener(
callback: function,
filter: RequestFilter,
extraInfoSpec?: OnBeforeRequestOptions[],
)
Diaktifkan saat permintaan akan dilakukan.
Parameter
-
callback
fungsi
Parameter
callback
terlihat seperti ini:(details: object) => BlockingResponse | undefined
-
detail
objek
-
documentId
string opsional
Chrome 106 dan yang lebih baruUUID dokumen yang membuat permintaan.
-
documentLifecycle
extensionTypes.DocumentLifecycle optional
Chrome 106 dan yang lebih baruSiklus proses dokumen berada.
-
frameId
angka
Nilai 0 menunjukkan bahwa permintaan terjadi di frame utama; nilai positif menunjukkan ID subframe tempat permintaan terjadi. Jika dokumen dari frame (sub) dimuat (
type
adalahmain_frame
atausub_frame
),frameId
menunjukkan ID frame ini, bukan ID frame luar. ID frame bersifat unik dalam satu tab. -
frameType
extensionTypes.FrameType optional
Chrome 106 dan yang lebih baruJenis frame tempat permintaan terjadi.
-
inisiator
string opsional
Chrome 63 dan yang lebih baruAsal tempat permintaan dimulai. Hal ini tidak berubah melalui pengalihan. Jika asal ini buram, string 'null' data yang akan digunakan.
-
method
string
Metode HTTP standar.
-
parentDocumentId
string opsional
Chrome 106 dan yang lebih baruUUID dokumen induk yang memiliki frame ini. ID ini tidak disetel jika tidak ada induk.
-
parentFrameId
angka
ID frame yang menggabungkan frame yang mengirim permintaan. Setel ke -1 jika tidak ada frame induk.
-
requestBody
objek opsional
Berisi data isi permintaan HTTP. Hanya diberikan jika extraInfoSpec berisi 'requestBody'.
-
error
string opsional
Error saat mendapatkan data isi permintaan.
-
formData
objek opsional
Jika metode permintaan adalah POST dan isi adalah urutan pasangan nilai kunci yang dienkode dalam UTF8, yang dienkode sebagai multibagian/formulir-data, atau application/x-www-form-urlencoding, kamus ini ada dan untuk setiap kunci berisi daftar semua nilai untuk kunci tersebut. Jika data berupa jenis media lain, atau jika formatnya salah, kamus tidak ada. Contoh nilai kamus ini adalah {'key': ['value1', 'value2']}.
-
mentah
UploadData[] opsional
Jika metode permintaan adalah PUT atau POST, dan isi belum diuraikan dalam formData, elemen isi permintaan yang tidak diurai terdapat dalam array ini.
-
-
requestId
string
ID permintaan. ID permintaan bersifat unik dalam sesi browser. Akibatnya, keduanya dapat digunakan untuk mengaitkan berbagai peristiwa dari permintaan yang sama.
-
tabId
angka
ID tab tempat permintaan terjadi. Tetapkan ke -1 jika permintaan tidak terkait dengan tab.
-
timeStamp
angka
Waktu saat sinyal ini dipicu, dalam milidetik sejak epoch.
-
jenis
Cara penggunaan resource yang diminta.
-
url
string
-
-
akan menampilkan
BlockingResponse | tidak ditentukan
Jika "memblokir" ditentukan dalam "extraInfoSpec" , pemroses peristiwa akan menampilkan objek jenis ini.
-
-
filter
-
extraInfoSpec
OnBeforeRequestOptions[] opsional
onBeforeSendHeaders
chrome.webRequest.onBeforeSendHeaders.addListener(
callback: function,
filter: RequestFilter,
extraInfoSpec?: OnBeforeSendHeadersOptions[],
)
Diaktifkan sebelum mengirim permintaan HTTP, setelah header permintaan tersedia. Hal ini dapat terjadi setelah koneksi TCP dibuat ke server, tetapi sebelum data HTTP dikirim.
Parameter
-
callback
fungsi
Parameter
callback
terlihat seperti ini:(details: object) => BlockingResponse | undefined
-
detail
objek
-
documentId
string
Chrome 106 dan yang lebih baruUUID dokumen yang membuat permintaan.
-
documentLifecycleChrome 106 dan yang lebih baru
Siklus proses dokumen berada.
-
frameId
angka
Nilai 0 menunjukkan bahwa permintaan terjadi di frame utama; nilai positif menunjukkan ID subframe tempat permintaan terjadi. Jika dokumen dari frame (sub) dimuat (
type
adalahmain_frame
atausub_frame
),frameId
menunjukkan ID frame ini, bukan ID frame luar. ID frame bersifat unik dalam satu tab. -
frameTypeChrome 106 dan yang lebih baru
Jenis frame tempat permintaan terjadi.
-
inisiator
string opsional
Chrome 63 dan yang lebih baruAsal tempat permintaan dimulai. Hal ini tidak berubah melalui pengalihan. Jika asal ini buram, string 'null' data yang akan digunakan.
-
method
string
Metode HTTP standar.
-
parentDocumentId
string opsional
Chrome 106 dan yang lebih baruUUID dokumen induk yang memiliki frame ini. ID ini tidak disetel jika tidak ada induk.
-
parentFrameId
angka
ID frame yang menggabungkan frame yang mengirim permintaan. Setel ke -1 jika tidak ada frame induk.
-
requestHeaders
HttpHeaders opsional
Header permintaan HTTP yang akan dikirim bersama permintaan ini.
-
requestId
string
ID permintaan. ID permintaan bersifat unik dalam sesi browser. Akibatnya, keduanya dapat digunakan untuk mengaitkan berbagai peristiwa dari permintaan yang sama.
-
tabId
angka
ID tab tempat permintaan terjadi. Tetapkan ke -1 jika permintaan tidak terkait dengan tab.
-
timeStamp
angka
Waktu saat sinyal ini dipicu, dalam milidetik sejak epoch.
-
jenis
Cara penggunaan resource yang diminta.
-
url
string
-
-
akan menampilkan
BlockingResponse | tidak ditentukan
Jika "memblokir" ditentukan dalam "extraInfoSpec" , pemroses peristiwa akan menampilkan objek jenis ini.
-
-
filter
-
extraInfoSpec
OnBeforeSendHeadersOptions[] opsional
onCompleted
chrome.webRequest.onCompleted.addListener(
callback: function,
filter: RequestFilter,
extraInfoSpec?: OnCompletedOptions[],
)
Diaktifkan saat permintaan diselesaikan.
Parameter
-
callback
fungsi
Parameter
callback
terlihat seperti ini:(details: object) => void
-
detail
objek
-
documentId
string
Chrome 106 dan yang lebih baruUUID dokumen yang membuat permintaan.
-
documentLifecycleChrome 106 dan yang lebih baru
Siklus proses dokumen berada.
-
frameId
angka
Nilai 0 menunjukkan bahwa permintaan terjadi di frame utama; nilai positif menunjukkan ID subframe tempat permintaan terjadi. Jika dokumen dari frame (sub) dimuat (
type
adalahmain_frame
atausub_frame
),frameId
menunjukkan ID frame ini, bukan ID frame luar. ID frame bersifat unik dalam satu tab. -
frameTypeChrome 106 dan yang lebih baru
Jenis frame tempat permintaan terjadi.
-
fromCache
boolean
Menunjukkan apakah respons ini diambil dari cache disk.
-
inisiator
string opsional
Chrome 63 dan yang lebih baruAsal tempat permintaan dimulai. Hal ini tidak berubah melalui pengalihan. Jika asal ini buram, string 'null' data yang akan digunakan.
-
ip
string opsional
Alamat IP server yang menjadi tujuan pengiriman permintaan. Perhatikan bahwa ini mungkin berupa alamat IPv6 literal.
-
method
string
Metode HTTP standar.
-
parentDocumentId
string opsional
Chrome 106 dan yang lebih baruUUID dokumen induk yang memiliki frame ini. ID ini tidak disetel jika tidak ada induk.
-
parentFrameId
angka
ID frame yang menggabungkan frame yang mengirim permintaan. Setel ke -1 jika tidak ada frame induk.
-
requestId
string
ID permintaan. ID permintaan bersifat unik dalam sesi browser. Akibatnya, keduanya dapat digunakan untuk mengaitkan berbagai peristiwa dari permintaan yang sama.
-
responseHeaders
HttpHeaders opsional
Header respons HTTP yang diterima bersama respons ini.
-
statusCode
angka
Kode status HTTP standar yang ditampilkan oleh server.
-
statusLine
string
Baris status HTTP respons atau 'HTTP/0.9 200 OK' string untuk respons HTTP/0.9 (yaitu, respons yang tidak memiliki baris status) atau string kosong jika tidak ada header.
-
tabId
angka
ID tab tempat permintaan terjadi. Tetapkan ke -1 jika permintaan tidak terkait dengan tab.
-
timeStamp
angka
Waktu saat sinyal ini dipicu, dalam milidetik sejak epoch.
-
jenis
Cara penggunaan resource yang diminta.
-
url
string
-
-
-
filter
-
extraInfoSpec
OnCompletedOptions[] opsional
onErrorOccurred
chrome.webRequest.onErrorOccurred.addListener(
callback: function,
filter: RequestFilter,
extraInfoSpec?: OnErrorOccurredOptions[],
)
Diaktifkan saat terjadi error.
Parameter
-
callback
fungsi
Parameter
callback
terlihat seperti ini:(details: object) => void
-
detail
objek
-
documentId
string
Chrome 106 dan yang lebih baruUUID dokumen yang membuat permintaan. Nilai ini tidak ada jika permintaan adalah navigasi frame.
-
documentLifecycleChrome 106 dan yang lebih baru
Siklus proses dokumen berada.
-
error
string
Deskripsi error. String ini tidak dijamin akan tetap kompatibel dengan rilis lama. Anda tidak boleh mengurai dan bertindak berdasarkan kontennya.
-
frameId
angka
Nilai 0 menunjukkan bahwa permintaan terjadi di frame utama; nilai positif menunjukkan ID subframe tempat permintaan terjadi. Jika dokumen dari frame (sub) dimuat (
type
adalahmain_frame
atausub_frame
),frameId
menunjukkan ID frame ini, bukan ID frame luar. ID frame bersifat unik dalam satu tab. -
frameTypeChrome 106 dan yang lebih baru
Jenis frame tempat permintaan terjadi.
-
fromCache
boolean
Menunjukkan apakah respons ini diambil dari cache disk.
-
inisiator
string opsional
Chrome 63 dan yang lebih baruAsal tempat permintaan dimulai. Hal ini tidak berubah melalui pengalihan. Jika asal ini buram, string 'null' data yang akan digunakan.
-
ip
string opsional
Alamat IP server yang menjadi tujuan pengiriman permintaan. Perhatikan bahwa ini mungkin berupa alamat IPv6 literal.
-
method
string
Metode HTTP standar.
-
parentDocumentId
string opsional
Chrome 106 dan yang lebih baruUUID dokumen induk yang memiliki frame ini. ID ini tidak disetel jika tidak ada induk.
-
parentFrameId
angka
ID frame yang menggabungkan frame yang mengirim permintaan. Setel ke -1 jika tidak ada frame induk.
-
requestId
string
ID permintaan. ID permintaan bersifat unik dalam sesi browser. Akibatnya, keduanya dapat digunakan untuk mengaitkan berbagai peristiwa dari permintaan yang sama.
-
tabId
angka
ID tab tempat permintaan terjadi. Tetapkan ke -1 jika permintaan tidak terkait dengan tab.
-
timeStamp
angka
Waktu saat sinyal ini dipicu, dalam milidetik sejak epoch.
-
jenis
Cara penggunaan resource yang diminta.
-
url
string
-
-
-
filter
-
extraInfoSpec
OnErrorOccurredOptions[] opsional
onHeadersReceived
chrome.webRequest.onHeadersReceived.addListener(
callback: function,
filter: RequestFilter,
extraInfoSpec?: OnHeadersReceivedOptions[],
)
Diaktifkan saat header respons HTTP permintaan telah diterima.
Parameter
-
callback
fungsi
Parameter
callback
terlihat seperti ini:(details: object) => BlockingResponse | undefined
-
detail
objek
-
documentId
string
Chrome 106 dan yang lebih baruUUID dokumen yang membuat permintaan.
-
documentLifecycleChrome 106 dan yang lebih baru
Siklus proses dokumen berada.
-
frameId
angka
Nilai 0 menunjukkan bahwa permintaan terjadi di frame utama; nilai positif menunjukkan ID subframe tempat permintaan terjadi. Jika dokumen dari frame (sub) dimuat (
type
adalahmain_frame
atausub_frame
),frameId
menunjukkan ID frame ini, bukan ID frame luar. ID frame bersifat unik dalam satu tab. -
frameTypeChrome 106 dan yang lebih baru
Jenis frame tempat permintaan terjadi.
-
inisiator
string opsional
Chrome 63 dan yang lebih baruAsal tempat permintaan dimulai. Hal ini tidak berubah melalui pengalihan. Jika asal ini buram, string 'null' data yang akan digunakan.
-
method
string
Metode HTTP standar.
-
parentDocumentId
string opsional
Chrome 106 dan yang lebih baruUUID dokumen induk yang memiliki frame ini. ID ini tidak disetel jika tidak ada induk.
-
parentFrameId
angka
ID frame yang menggabungkan frame yang mengirim permintaan. Setel ke -1 jika tidak ada frame induk.
-
requestId
string
ID permintaan. ID permintaan bersifat unik dalam sesi browser. Akibatnya, keduanya dapat digunakan untuk mengaitkan berbagai peristiwa dari permintaan yang sama.
-
responseHeaders
HttpHeaders opsional
Header respons HTTP yang telah diterima dengan respons ini.
-
statusCode
angka
Chrome 43 dan yang lebih baruKode status HTTP standar yang ditampilkan oleh server.
-
statusLine
string
Baris status HTTP respons atau 'HTTP/0.9 200 OK' string untuk respons HTTP/0.9 (yaitu, respons yang tidak memiliki baris status).
-
tabId
angka
ID tab tempat permintaan terjadi. Tetapkan ke -1 jika permintaan tidak terkait dengan tab.
-
timeStamp
angka
Waktu saat sinyal ini dipicu, dalam milidetik sejak epoch.
-
jenis
Cara penggunaan resource yang diminta.
-
url
string
-
-
akan menampilkan
BlockingResponse | tidak ditentukan
Jika "memblokir" ditentukan dalam "extraInfoSpec" , pemroses peristiwa akan menampilkan objek jenis ini.
-
-
filter
-
extraInfoSpec
OnHeadersReceivedOptions[] opsional
onResponseStarted
chrome.webRequest.onResponseStarted.addListener(
callback: function,
filter: RequestFilter,
extraInfoSpec?: OnResponseStartedOptions[],
)
Diaktifkan saat byte pertama dari isi respons diterima. Untuk permintaan HTTP, ini berarti baris status dan header respons tersedia.
Parameter
-
callback
fungsi
Parameter
callback
terlihat seperti ini:(details: object) => void
-
detail
objek
-
documentId
string
Chrome 106 dan yang lebih baruUUID dokumen yang membuat permintaan.
-
documentLifecycleChrome 106 dan yang lebih baru
Siklus proses dokumen berada.
-
frameId
angka
Nilai 0 menunjukkan bahwa permintaan terjadi di frame utama; nilai positif menunjukkan ID subframe tempat permintaan terjadi. Jika dokumen dari frame (sub) dimuat (
type
adalahmain_frame
atausub_frame
),frameId
menunjukkan ID frame ini, bukan ID frame luar. ID frame bersifat unik dalam satu tab. -
frameTypeChrome 106 dan yang lebih baru
Jenis frame tempat permintaan terjadi.
-
fromCache
boolean
Menunjukkan apakah respons ini diambil dari cache disk.
-
inisiator
string opsional
Chrome 63 dan yang lebih baruAsal tempat permintaan dimulai. Hal ini tidak berubah melalui pengalihan. Jika asal ini buram, string 'null' data yang akan digunakan.
-
ip
string opsional
Alamat IP server yang menjadi tujuan pengiriman permintaan. Perhatikan bahwa ini mungkin berupa alamat IPv6 literal.
-
method
string
Metode HTTP standar.
-
parentDocumentId
string opsional
Chrome 106 dan yang lebih baruUUID dokumen induk yang memiliki frame ini. ID ini tidak disetel jika tidak ada induk.
-
parentFrameId
angka
ID frame yang menggabungkan frame yang mengirim permintaan. Setel ke -1 jika tidak ada frame induk.
-
requestId
string
ID permintaan. ID permintaan bersifat unik dalam sesi browser. Akibatnya, keduanya dapat digunakan untuk mengaitkan berbagai peristiwa dari permintaan yang sama.
-
responseHeaders
HttpHeaders opsional
Header respons HTTP yang diterima bersama respons ini.
-
statusCode
angka
Kode status HTTP standar yang ditampilkan oleh server.
-
statusLine
string
Baris status HTTP respons atau 'HTTP/0.9 200 OK' string untuk respons HTTP/0.9 (yaitu, respons yang tidak memiliki baris status) atau string kosong jika tidak ada header.
-
tabId
angka
ID tab tempat permintaan terjadi. Tetapkan ke -1 jika permintaan tidak terkait dengan tab.
-
timeStamp
angka
Waktu saat sinyal ini dipicu, dalam milidetik sejak epoch.
-
jenis
Cara penggunaan resource yang diminta.
-
url
string
-
-
-
filter
-
extraInfoSpec
OnResponseStartedOptions[] opsional
onSendHeaders
chrome.webRequest.onSendHeaders.addListener(
callback: function,
filter: RequestFilter,
extraInfoSpec?: OnSendHeadersOptions[],
)
Diaktifkan tepat sebelum permintaan dikirim ke server (perubahan callback onBeforeSendHeaders sebelumnya terlihat pada saat onSendHeaders diaktifkan).
Parameter
-
callback
fungsi
Parameter
callback
terlihat seperti ini:(details: object) => void
-
detail
objek
-
documentId
string
Chrome 106 dan yang lebih baruUUID dokumen yang membuat permintaan.
-
documentLifecycleChrome 106 dan yang lebih baru
Siklus proses dokumen berada.
-
frameId
angka
Nilai 0 menunjukkan bahwa permintaan terjadi di frame utama; nilai positif menunjukkan ID subframe tempat permintaan terjadi. Jika dokumen dari frame (sub) dimuat (
type
adalahmain_frame
atausub_frame
),frameId
menunjukkan ID frame ini, bukan ID frame luar. ID frame bersifat unik dalam satu tab. -
frameTypeChrome 106 dan yang lebih baru
Jenis frame tempat permintaan terjadi.
-
inisiator
string opsional
Chrome 63 dan yang lebih baruAsal tempat permintaan dimulai. Hal ini tidak berubah melalui pengalihan. Jika asal ini buram, string 'null' data yang akan digunakan.
-
method
string
Metode HTTP standar.
-
parentDocumentId
string opsional
Chrome 106 dan yang lebih baruUUID dokumen induk yang memiliki frame ini. ID ini tidak disetel jika tidak ada induk.
-
parentFrameId
angka
ID frame yang menggabungkan frame yang mengirim permintaan. Setel ke -1 jika tidak ada frame induk.
-
requestHeaders
HttpHeaders opsional
Header permintaan HTTP yang telah dikirim dengan permintaan ini.
-
requestId
string
ID permintaan. ID permintaan bersifat unik dalam sesi browser. Akibatnya, keduanya dapat digunakan untuk mengaitkan berbagai peristiwa dari permintaan yang sama.
-
tabId
angka
ID tab tempat permintaan terjadi. Tetapkan ke -1 jika permintaan tidak terkait dengan tab.
-
timeStamp
angka
Waktu saat sinyal ini dipicu, dalam milidetik sejak epoch.
-
jenis
Cara penggunaan resource yang diminta.
-
url
string
-
-
-
filter
-
extraInfoSpec
OnSendHeadersOptions[] opsional