Deskripsi
Gunakan chrome.webRequest
API untuk mengamati dan menganalisis traffic serta menangkap, memblokir, atau mengubah permintaan yang sedang berjalan.
Izin
webRequest
Manifes
Anda harus mendeklarasikan izin "webRequest"
dalam manifes ekstensi untuk menggunakan API permintaan web, beserta izin host yang diperlukan. Untuk mencegat permintaan sub-resource, ekstensi harus memiliki akses ke URL yang diminta beserta inisiatornya. Contoh:
{
"name": "My extension",
...
"permissions": [
"webRequest"
],
"host_permissions": [
"*://*.google.com/*"
],
...
}
Mulai Chrome 108, Anda dapat menyediakan kredensial secara asinkron untuk peristiwa onAuthRequired
jika menggunakan izin "webRequest"
dan
"webRequestAuthProvider"
.
Siklus proses permintaan
Web request API menentukan kumpulan peristiwa yang mengikuti siklus proses permintaan web. Anda dapat menggunakan peristiwa ini untuk mengamati dan menganalisis traffic. Peristiwa sinkron tertentu akan memungkinkan Anda mencegat, memblokir, atau mengubah permintaan.
Siklus proses peristiwa untuk permintaan yang berhasil digambarkan di sini, diikuti dengan definisi peristiwa:
onBeforeRequest
(secara opsional sinkron)- Terpicu saat permintaan akan terjadi. Peristiwa ini dikirim sebelum koneksi TCP dibuat dan dapat digunakan untuk membatalkan atau mengalihkan permintaan.
onBeforeSendHeaders
(secara opsional sinkron)- Kebakaran saat permintaan akan terjadi dan header awal telah disiapkan. Peristiwa ini
dimaksudkan untuk memungkinkan ekstensi menambahkan, mengubah, dan menghapus header permintaan (*). Peristiwa
onBeforeSendHeaders
diteruskan ke semua pelanggan, sehingga pelanggan yang berbeda dapat mencoba mengubah permintaan; lihat bagian Detail penerapan untuk mengetahui cara penanganannya. Peristiwa ini dapat digunakan untuk membatalkan permintaan. onSendHeaders
- Kebakaran setelah semua ekstensi memiliki kesempatan untuk mengubah header permintaan, dan menampilkan versi (*) akhir. Peristiwa ini dipicu sebelum header dikirim ke jaringan. Peristiwa ini bersifat informatif dan ditangani secara asinkron. Kebijakan ini tidak mengizinkan modifikasi atau pembatalan permintaan.
onHeadersReceived
(secara opsional sinkron)- Diaktifkan setiap kali header respons HTTP(S) diterima. Hal ini dapat terjadi beberapa kali per permintaan disebabkan oleh pengalihan dan autentikasi. Peristiwa ini dimaksudkan untuk memungkinkan ekstensi menambahkan, mengubah, dan menghapus header respons, seperti header Jenis Konten yang masuk. Perintah caching diproses sebelum peristiwa ini dipicu, sehingga memodifikasi header seperti Cache-Control tidak memiliki pengaruh terhadap cache browser. Anda juga dapat membatalkan atau mengalihkan permintaan tersebut.
onAuthRequired
(secara opsional sinkron)- Terpicu saat permintaan memerlukan autentikasi pengguna. Peristiwa ini dapat ditangani secara sinkron untuk memberikan kredensial autentikasi. Perlu diperhatikan bahwa ekstensi mungkin memberikan kredensial yang tidak valid. Berhati-hatilah agar tidak memasukkan loop tak terbatas dengan memberikan kredensial yang tidak valid secara berulang. Metode ini juga dapat digunakan untuk membatalkan permintaan.
onBeforeRedirect
- Kebakaran saat pengalihan akan dijalankan. Pengalihan dapat dipicu oleh kode respons HTTP atau oleh ekstensi. Peristiwa ini bersifat informatif dan ditangani secara asinkron. Anda tidak dapat mengubah atau membatalkan permintaan tersebut.
onResponseStarted
- Diaktifkan saat byte pertama dari isi respons diterima. Untuk permintaan HTTP, ini berarti baris status dan header respons tersedia. Peristiwa ini bersifat informatif dan ditangani secara asinkron. Perubahan atau pembatalan permintaan tidak diizinkan.
onCompleted
- Terpicu saat permintaan berhasil diproses.
onErrorOccurred
- Kebakaran saat permintaan tidak berhasil diproses.
API permintaan web menjamin bahwa untuk setiap permintaan, onCompleted
atau onErrorOccurred
diaktifkan sebagai peristiwa akhir 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 masing-masing rentang byte dari file besar) atau dapat ditangani oleh stack 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 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
- Content-Length
- Host
- Jika-Diubah-Sejak
- Jika-Tidak Ada-Cocok
- Jika-Rentang
- Data Parsial
- Pragma
- Otorisasi-Proxy
- Koneksi-Proxy
- Encoding Transfer
Mulai Chrome 79, modifikasi header permintaan akan memengaruhi pemeriksaan Cross-Origin Resource Sharing (CORS). Jika header yang dimodifikasi untuk permintaan lintas origin tidak memenuhi kriteria, hal ini akan menyebabkan pengiriman preflight CORS untuk menanyakan server apakah header tersebut dapat diterima. Jika benar-benar perlu mengubah header dengan cara yang melanggar protokol CORS, Anda harus menentukan 'extraHeaders'
dalam opt_extraInfoSpec
. Di sisi lain, modifikasi header respons tidak berfungsi untuk mengelabui pemeriksaan CORS. Jika perlu menipu protokol CORS, Anda juga harus menentukan 'extraHeaders'
untuk perubahan respons.
Mulai Chrome 79, webRequest API tidak menangkap permintaan dan respons preflight CORS secara default. Preflight CORS untuk URL permintaan terlihat oleh ekstensi jika ada pemroses dengan 'extraHeaders'
yang ditentukan dalam opt_extraInfoSpec
untuk URL permintaan.
onBeforeRequest
juga dapat mengambil 'extraHeaders'
dari Chrome 79.
Mulai Chrome 79, header permintaan berikut tidak disediakan dan tidak dapat diubah atau
dihapus tanpa menentukan 'extraHeaders'
di opt_extraInfoSpec
:
- Origin
Mulai Chrome 72, jika perlu mengubah respons sebelum Cross Origin Read Blocking
(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
:
- Bahasa Terima
- Terima Encoding
- Referer
- Cookie
Mulai Chrome 72, header respons Set-Cookie
tidak disediakan dan tidak dapat diubah
atau dihapus tanpa menentukan 'extraHeaders'
di opt_extraInfoSpec
.
Mulai Chrome 89, header respons X-Frame-Options
tidak dapat diubah atau dihapus secara efektif tanpa menentukan 'extraHeaders'
di opt_extraInfoSpec
.
webRequest API hanya mengekspos permintaan yang dapat dilihat oleh ekstensi, berdasarkan izin host-nya. 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
akan disembunyikan. Ini mencakup chrome-extension://other_extension_id
dengan other_extension_id
bukan ID ekstensi untuk menangani permintaan, https://www.google.com/chrome
, dan inti permintaan sensitif lainnya dari fungsi browser. Selain itu, XMLHttpRequest sinkron dari ekstensi Anda disembunyikan dari pengendali peristiwa pemblokiran untuk mencegah deadlock. Perhatikan bahwa untuk beberapa skema yang didukung, kumpulan peristiwa yang tersedia mungkin terbatas karena sifat protokol yang sesuai. Misalnya, untuk file: skema, hanya onBeforeRequest
,
onResponseStarted
, onCompleted
, dan onErrorOccurred
yang dapat dikirim.
Mulai Chrome 58, webRequest API mendukung intersepsi permintaan handshake WebSocket. Karena handshake dilakukan melalui permintaan upgrade HTTP, alurnya akan sesuai dengan model webRequest berorientasi HTTP. Perhatikan bahwa API tidak mencegat:
- Setiap pesan yang dikirim melalui koneksi WebSocket yang ada.
- WebSocket menutup koneksi.
Pengalihan tidak didukung untuk permintaan WebSocket.
Mulai Chrome 72, ekstensi akan dapat menangkap permintaan hanya jika memiliki izin host ke URL yang diminta dan inisiator permintaan.
Mulai Chrome 96, webRequest API mendukung intersepsi permintaan handshake WebTransport melalui HTTP/3. Karena handshake dilakukan dengan permintaan HTTP CONNECT, alurnya sesuai dengan model webRequest berorientasi HTTP. Perhatikan bahwa:
- Setelah sesi dibuat, ekstensi tidak dapat mengamati atau mengintervensi sesi melalui webRequest API.
- Perubahan header permintaan HTTP di
onBeforeSendHeaders
akan diabaikan. - Pengalihan dan autentikasi tidak didukung di WebTransport melalui HTTP/3.
Konsep
Seperti yang dijelaskan dalam bagian berikut, peristiwa di API permintaan web menggunakan ID permintaan, dan Anda dapat secara opsional menentukan filter serta informasi tambahan saat mendaftarkan pemroses peristiwa.
ID permintaan
Setiap permintaan diidentifikasi oleh ID permintaan. ID ini unik dalam sesi browser dan konteks ekstensi. Nilai ini tetap konstan selama siklus proses permintaan dan dapat digunakan untuk mencocokkan peristiwa untuk permintaan yang sama. Perhatikan bahwa beberapa permintaan HTTP dipetakan ke satu permintaan web untuk pengalihan HTTP atau autentikasi HTTP.
Mendaftarkan pemroses peristiwa
Guna mendaftarkan pemroses peristiwa untuk permintaan web, gunakan variasi pada fungsi addListener()
biasa. Selain menentukan fungsi callback, Anda harus menetapkan argumen filter, dan dapat menetapkan 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. Fungsi callback ini meneruskan kamus yang berisi informasi tentang permintaan URL saat ini. Informasi
dalam kamus ini bergantung pada jenis peristiwa tertentu serta konten
opt_extraInfoSpec
.
Jika array opt_extraInfoSpec
opsional berisi string 'blocking'
(hanya diizinkan untuk peristiwa tertentu), fungsi callback akan ditangani secara sinkron. Artinya, permintaan akan diblokir hingga fungsi callback ditampilkan. Dalam hal ini, callback dapat menampilkan
webRequest.BlockingResponse
yang menentukan siklus proses permintaan lebih lanjut. Bergantung pada konteksnya, 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 di berbagai dimensi:
- URL
- Pola URL seperti
*://www.google.com/foo*bar
. - Jenis
- Jenis permintaan seperti
main_frame
(dokumen yang dimuat untuk frame level atas),sub_frame
(dokumen yang dimuat untuk frame tersemat), danimage
(gambar di situs). LihatwebRequest.RequestFilter
. - Tab ID
- ID untuk satu tab.
- ID Jendela
- ID untuk jendela.
Bergantung pada jenis peristiwa, Anda dapat menentukan string dalam opt_extraInfoSpec
untuk meminta informasi
tambahan tentang permintaan tersebut. Elemen ini digunakan untuk memberikan informasi mendetail tentang data permintaan hanya jika diminta secara eksplisit.
Detail implementasi
Beberapa detail implementasi mungkin 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 oleh web, ekstensi tersebut akan diblokir dan akan menghasilkan error. Hal di atas berlaku meskipun resource yang tidak dapat diakses web dimiliki oleh ekstensi pengalihan. Untuk mendeklarasikan resource yang akan digunakan dengan API WebRequest deklaratif, array "web_accessible_resources"
harus dideklarasikan dan diisi dalam manifes seperti yang didokumentasikan di sini.
Resolusi konflik
Dalam implementasi API permintaan web saat ini, permintaan dianggap dibatalkan jika setidaknya satu ekstensi menginstruksikan untuk membatalkan permintaan tersebut. Jika ekstensi membatalkan permintaan, semua ekstensi akan diberi tahu oleh peristiwa onErrorOccurred
. Hanya satu ekstensi yang dapat mengalihkan permintaan atau mengubah header pada satu waktu. Jika lebih dari satu ekstensi mencoba mengubah permintaan, ekstensi yang terakhir diinstal akan menang, dan semua ekstensi lainnya akan diabaikan. Ekstensi tidak diberi tahu jika petunjuk untuk mengubah atau mengalihkannya telah diabaikan.
Menyimpan ke cache
Chrome menggunakan dua cache—cache dalam disk dan cache dalam memori yang sangat cepat. Masa aktif
cache dalam memori dikaitkan dengan masa aktif proses render, yang kurang lebih sesuai dengan sebuah tab.
Permintaan yang dijawab dari cache dalam memori tidak terlihat oleh API permintaan web. Jika pengendali permintaan mengubah perilakunya (misalnya, perilaku yang terkait dengan permintaan yang diblokir), pemuatan ulang halaman sederhana mungkin tidak mengikuti perubahan perilaku ini. Untuk memastikan perubahan
perilaku berjalan, panggil handlerBehaviorChanged()
untuk menghapus cache dalam memori. Namun, jangan sering melakukannya;
menghapus cache adalah operasi yang sangat mahal. Anda tidak perlu memanggil handlerBehaviorChanged()
setelah mendaftarkan atau membatalkan pendaftaran pemroses peristiwa.
Stempel waktu
Properti timestamp
dari peristiwa permintaan web hanya dijamin konsisten secara internal.
Membandingkan satu peristiwa dengan peristiwa lain akan memberi Anda offset yang benar di antara peristiwa tersebut, tetapi membandingkannya dengan waktu saat ini dalam ekstensi (misalnya melalui (new Date()).getTime()
) dapat memberikan hasil yang tidak diharapkan.
Penanganan error
Jika Anda mencoba mendaftarkan peristiwa dengan argumen yang tidak valid, error JavaScript akan muncul, dan pengendali peristiwa tidak akan didaftarkan. Jika error ditampilkan saat peristiwa ditangani atau jika pengendali peristiwa menampilkan respons pemblokiran yang tidak valid, pesan error akan dicatat ke dalam log konsol ekstensi Anda, dan pengendali akan diabaikan untuk permintaan tersebut.
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 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 mengilustrasikan 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 repositori chrome-extension-samples.
Jenis
BlockingResponse
Menampilkan nilai untuk pengendali peristiwa yang menerapkan extraInfoSpec 'pemblokiran'. Mengizinkan pengendali peristiwa untuk mengubah permintaan jaringan.
Properti
-
authCredentials
objek opsional
Hanya digunakan sebagai respons terhadap peristiwa onAuthRequired. Jika disetel, permintaan akan dibuat menggunakan kredensial yang diberikan.
-
sandi
string
-
nama pengguna
string
-
-
batal
boolean opsional
Jika true (benar), permintaan akan dibatalkan. Tindakan ini akan mencegah pengiriman permintaan. 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 dicegah agar tidak dikirim/diselesaikan dan 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 onHeadersReceived, 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 untuk peristiwa onHeadersReceived. Jika disetel, server dianggap 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 URL yang dienkode, data disimpan sebagai string jika data adalah string utf-8 dan sebagai ArrayBuffer jika sebaliknya. Untuk data formulir, ini adalah ArrayBuffer. Jika data formulir mewakili file yang diupload, data tersebut akan diisi 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
objek[]
Properti
-
binaryValue
number[] opsional
Nilai header HTTP jika tidak dapat dinyatakan oleh UTF-8, disimpan sebagai nilai byte individual (0..255).
-
name
string
Nama header HTTP.
-
value
string opsional
Nilai header HTTP jika dapat direpresentasikan oleh UTF-8.
IgnoredActionType
Enum
"request_headers"
"response_headers"
"auth_credentials"
OnAuthRequiredOptions
Enum
"responseHeaders"
Menentukan bahwa header respons harus disertakan dalam peristiwa.
"blocking"
Menentukan permintaan akan 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
"blocking"
Menentukan permintaan akan 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
"requestHeader"
Menentukan bahwa header permintaan harus disertakan dalam peristiwa.
"blocking"
Menentukan permintaan akan 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
OnHeadersReceivedOptions
Enum
"blocking"
Menentukan permintaan akan 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
"requestHeader"
Menentukan bahwa header permintaan harus disertakan dalam peristiwa.
"extraHeader"
Menentukan bahwa header dapat melanggar Cross-Origin Resource Sharing (CORS).
RequestFilter
Objek yang menjelaskan filter yang akan diterapkan ke peristiwa webRequest.
Properti
-
tabId
nomor opsional
-
tipe
ResourceType[] opsional
Daftar jenis permintaan. Permintaan yang tidak dapat cocok dengan jenis apa pun akan difilter.
-
urls
string[]
Daftar URL atau pola URL. Permintaan yang tidak dapat cocok dengan URL mana pun akan difilter.
-
windowId
nomor opsional
ResourceType
Enum
"main_frame"
Menentukan resource sebagai frame utama.
"sub_frame"
Menentukan resource sebagai subframe.
"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 dalam permintaan URL.
Properti
-
byte
opsional
ArrayBuffer dengan salinan data.
-
file
string opsional
String dengan jalur dan nama file.
Properti
MAX_HANDLER_BEHAVIOR_CHANGED_CALLS_PER_10_MINUTES
Frekuensi maksimum handlerBehaviorChanged
dapat dipanggil per interval berkelanjutan 10 menit. handlerBehaviorChanged
adalah panggilan fungsi yang mahal dan seharusnya tidak sering dipanggil.
Nilai
20
Metode
handlerBehaviorChanged()
chrome.webRequest.handlerBehaviorChanged(
callback?: function,
)
Perlu dipanggil saat perilaku pengendali webRequest telah berubah untuk mencegah penanganan yang salah akibat caching. Panggilan fungsi ini mahal. Jangan terlalu sering menelepon.
Parameter
-
callback
fungsi opsional
Parameter
callback
terlihat seperti:() => void
Hasil
-
Promise<void>
Chrome 116 dan yang lebih baruPromise hanya didukung untuk Manifes V3 dan yang lebih baru, platform lain perlu menggunakan callback.
Acara
onActionIgnored
chrome.webRequest.onActionIgnored.addListener(
callback: function,
)
Diaktifkan saat permintaan jaringan yang diusulkan oleh ekstensi diabaikan. Hal ini terjadi jika terjadi konflik dengan ekstensi lain.
Parameter
-
callback
fungsi
Parameter
callback
terlihat seperti:(details: object) => void
-
detail
objek
-
action
Tindakan yang diusulkan yang diabaikan.
-
requestId
string
ID permintaan. ID permintaan bersifat unik dalam sesi browser. Akibatnya, peristiwa tersebut dapat digunakan untuk mengaitkan berbagai peristiwa dari permintaan yang sama.
-
-
onAuthRequired
chrome.webRequest.onAuthRequired.addListener(
callback: function,
filter: RequestFilter,
extraInfoSpec?: OnAuthRequiredOptions[],
)
Diaktifkan saat menerima kegagalan autentikasi. Pemroses memiliki tiga opsi: dapat memberikan kredensial autentikasi, membatalkan permintaan dan menampilkan halaman error, atau tidak melakukan tindakan apa pun terhadap tantangan. Jika kredensial pengguna yang buruk diberikan, permintaan ini mungkin akan 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:(details: object, asyncCallback?: function) => BlockingResponse | undefined
-
detail
objek
-
penantang
objek
Server yang meminta otentikasi.
-
host
string
-
port
angka
-
-
documentId
string
Chrome 106+UUID dokumen yang membuat permintaan.
-
documentLifecycleChrome 106+
Siklus proses tempat dokumen berada.
-
frameId
angka
Nilai 0 menunjukkan bahwa permintaan terjadi di frame utama; nilai positif menunjukkan ID subframe tempat permintaan terjadi. Jika dokumen bingkai (sub-) dimuat (
type
adalahmain_frame
atausub_frame
),frameId
menunjukkan ID bingkai ini, bukan ID bingkai luar. ID Frame bersifat unik di dalam tab. -
frameTypeChrome 106+
Jenis frame tempat permintaan terjadi.
-
inisiator
string opsional
Chrome 63 dan yang lebih baruAsal tempat permintaan dimulai. Hal ini tidak berubah melalui pengalihan. Jika asalnya buram, string 'null' akan digunakan.
-
isProxy
boolean
Benar untuk Autentikasi Proxy, salah untuk Autentikasi WWW.
-
method
string
Metode HTTP standar.
-
parentDocumentId
string opsional
Chrome 106+UUID dokumen induk yang memiliki frame ini. Ini tidak disetel jika tidak ada induk.
-
parentFrameId
angka
ID frame yang menggabungkan frame yang mengirim permintaan. Tetapkan ke -1 jika tidak ada frame induk.
-
realm
string opsional
Ranah autentikasi yang disediakan oleh server, jika ada.
-
requestId
string
ID permintaan. ID permintaan bersifat unik dalam sesi browser. Akibatnya, peristiwa tersebut dapat digunakan untuk mengaitkan berbagai peristiwa dari permintaan yang sama.
-
responseHeaders
HttpHeaders opsional
Header respons HTTP yang diterima beserta respons ini.
-
skema
string
Skema autentikasi, misalnya Basic atau Digest.
-
statusCode
angka
Chrome 43 dan yang lebih baruKode status HTTP standar yang ditampilkan oleh server.
-
statusLine
string
Baris status HTTP respons atau string 'HTTP/0.9 200 OK' 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.
-
tipe
Cara penggunaan resource yang diminta.
-
url
string
-
-
asyncCallback
fungsi opsional
Chrome 58+Parameter
asyncCallback
terlihat seperti:(response: BlockingResponse) => void
-
respons
-
-
akan menampilkan
BlockingResponse | tidak ditentukan
Jika "pemblokiran" ditentukan dalam parameter "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:(details: object) => void
-
detail
objek
-
documentId
string
Chrome 106+UUID dokumen yang membuat permintaan.
-
documentLifecycleChrome 106+
Siklus proses tempat dokumen berada.
-
frameId
angka
Nilai 0 menunjukkan bahwa permintaan terjadi di frame utama; nilai positif menunjukkan ID subframe tempat permintaan terjadi. Jika dokumen bingkai (sub-) dimuat (
type
adalahmain_frame
atausub_frame
),frameId
menunjukkan ID bingkai ini, bukan ID bingkai luar. ID Frame bersifat unik di dalam tab. -
frameTypeChrome 106+
Jenis frame tempat permintaan terjadi.
-
fromCache
boolean
Menunjukkan jika 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 asalnya buram, string 'null' akan digunakan.
-
ip
string opsional
Alamat IP server tempat permintaan sebenarnya dikirim. Perhatikan bahwa alamat ini mungkin berupa alamat IPv6 literal.
-
method
string
Metode HTTP standar.
-
parentDocumentId
string opsional
Chrome 106+UUID dokumen induk yang memiliki frame ini. Ini tidak disetel jika tidak ada induk.
-
parentFrameId
angka
ID frame yang menggabungkan frame yang mengirim permintaan. Tetapkan ke -1 jika tidak ada frame induk.
-
redirectUrl
string
URL baru.
-
requestId
string
ID permintaan. ID permintaan bersifat unik dalam sesi browser. Akibatnya, peristiwa tersebut dapat digunakan untuk mengaitkan berbagai peristiwa dari permintaan yang sama.
-
responseHeaders
HttpHeaders opsional
Header respons HTTP yang diterima beserta pengalihan ini.
-
statusCode
angka
Kode status HTTP standar yang ditampilkan oleh server.
-
statusLine
string
Baris status HTTP respons atau string 'HTTP/0.9 200 OK' 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.
-
tipe
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 terjadi.
Parameter
-
callback
fungsi
Parameter
callback
terlihat seperti:(details: object) => BlockingResponse | undefined
-
detail
objek
-
documentId
string opsional
Chrome 106+UUID dokumen yang membuat permintaan.
-
documentLifecycle
extensionTypes.DocumentLifecycle opsional
Chrome 106+Siklus proses tempat dokumen berada.
-
frameId
angka
Nilai 0 menunjukkan bahwa permintaan terjadi di frame utama; nilai positif menunjukkan ID subframe tempat permintaan terjadi. Jika dokumen bingkai (sub-) dimuat (
type
adalahmain_frame
atausub_frame
),frameId
menunjukkan ID bingkai ini, bukan ID bingkai luar. ID Frame bersifat unik di dalam tab. -
frameType
extensionTypes.FrameType opsional
Chrome 106+Jenis frame tempat permintaan terjadi.
-
inisiator
string opsional
Chrome 63 dan yang lebih baruAsal tempat permintaan dimulai. Hal ini tidak berubah melalui pengalihan. Jika asalnya buram, string 'null' akan digunakan.
-
method
string
Metode HTTP standar.
-
parentDocumentId
string opsional
Chrome 106+UUID dokumen induk yang memiliki frame ini. Ini tidak disetel jika tidak ada induk.
-
parentFrameId
angka
ID frame yang menggabungkan frame yang mengirim permintaan. Tetapkan 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 berupa urutan pasangan nilai kunci yang dienkode dalam UTF8, dienkode sebagai multipart/form-data, atau application/x-www-form-url Latihan, kamus ini ada dan untuk setiap kunci berisi daftar semua nilai untuk kunci tersebut. Jika data merupakan jenis media lain atau salah format, kamus tidak tersedia. 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, peristiwa tersebut 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.
-
tipe
Cara penggunaan resource yang diminta.
-
url
string
-
-
akan menampilkan
BlockingResponse | tidak ditentukan
Jika "pemblokiran" ditentukan dalam parameter "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. Ini mungkin terjadi setelah koneksi TCP dibuat ke server, tetapi sebelum data HTTP dikirim.
Parameter
-
callback
fungsi
Parameter
callback
terlihat seperti:(details: object) => BlockingResponse | undefined
-
detail
objek
-
documentId
string
Chrome 106+UUID dokumen yang membuat permintaan.
-
documentLifecycleChrome 106+
Siklus proses tempat dokumen berada.
-
frameId
angka
Nilai 0 menunjukkan bahwa permintaan terjadi di frame utama; nilai positif menunjukkan ID subframe tempat permintaan terjadi. Jika dokumen bingkai (sub-) dimuat (
type
adalahmain_frame
atausub_frame
),frameId
menunjukkan ID bingkai ini, bukan ID bingkai luar. ID Frame bersifat unik di dalam tab. -
frameTypeChrome 106+
Jenis frame tempat permintaan terjadi.
-
inisiator
string opsional
Chrome 63 dan yang lebih baruAsal tempat permintaan dimulai. Hal ini tidak berubah melalui pengalihan. Jika asalnya buram, string 'null' akan digunakan.
-
method
string
Metode HTTP standar.
-
parentDocumentId
string opsional
Chrome 106+UUID dokumen induk yang memiliki frame ini. Ini tidak disetel jika tidak ada induk.
-
parentFrameId
angka
ID frame yang menggabungkan frame yang mengirim permintaan. Tetapkan 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, peristiwa tersebut 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.
-
tipe
Cara penggunaan resource yang diminta.
-
url
string
-
-
akan menampilkan
BlockingResponse | tidak ditentukan
Jika "pemblokiran" ditentukan dalam parameter "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 selesai.
Parameter
-
callback
fungsi
Parameter
callback
terlihat seperti:(details: object) => void
-
detail
objek
-
documentId
string
Chrome 106+UUID dokumen yang membuat permintaan.
-
documentLifecycleChrome 106+
Siklus proses tempat dokumen berada.
-
frameId
angka
Nilai 0 menunjukkan bahwa permintaan terjadi di frame utama; nilai positif menunjukkan ID subframe tempat permintaan terjadi. Jika dokumen bingkai (sub-) dimuat (
type
adalahmain_frame
atausub_frame
),frameId
menunjukkan ID bingkai ini, bukan ID bingkai luar. ID Frame bersifat unik di dalam tab. -
frameTypeChrome 106+
Jenis frame tempat permintaan terjadi.
-
fromCache
boolean
Menunjukkan jika 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 asalnya buram, string 'null' akan digunakan.
-
ip
string opsional
Alamat IP server tempat permintaan sebenarnya dikirim. Perhatikan bahwa alamat ini mungkin berupa alamat IPv6 literal.
-
method
string
Metode HTTP standar.
-
parentDocumentId
string opsional
Chrome 106+UUID dokumen induk yang memiliki frame ini. Ini tidak disetel jika tidak ada induk.
-
parentFrameId
angka
ID frame yang menggabungkan frame yang mengirim permintaan. Tetapkan ke -1 jika tidak ada frame induk.
-
requestId
string
ID permintaan. ID permintaan bersifat unik dalam sesi browser. Akibatnya, peristiwa tersebut dapat digunakan untuk mengaitkan berbagai peristiwa dari permintaan yang sama.
-
responseHeaders
HttpHeaders opsional
Header respons HTTP yang diterima beserta respons ini.
-
statusCode
angka
Kode status HTTP standar yang ditampilkan oleh server.
-
statusLine
string
Baris status HTTP respons atau string 'HTTP/0.9 200 OK' 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.
-
tipe
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:(details: object) => void
-
detail
objek
-
documentId
string
Chrome 106+UUID dokumen yang membuat permintaan. Nilai ini tidak ada jika permintaan adalah navigasi frame.
-
documentLifecycleChrome 106+
Siklus proses tempat dokumen berada.
-
error
string
Deskripsi error. String ini tidak dijamin akan tetap kompatibel dengan versi sebelumnya di antara rilis. 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 bingkai (sub-) dimuat (
type
adalahmain_frame
atausub_frame
),frameId
menunjukkan ID bingkai ini, bukan ID bingkai luar. ID Frame bersifat unik di dalam tab. -
frameTypeChrome 106+
Jenis frame tempat permintaan terjadi.
-
fromCache
boolean
Menunjukkan jika 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 asalnya buram, string 'null' akan digunakan.
-
ip
string opsional
Alamat IP server tempat permintaan sebenarnya dikirim. Perhatikan bahwa alamat ini mungkin berupa alamat IPv6 literal.
-
method
string
Metode HTTP standar.
-
parentDocumentId
string opsional
Chrome 106+UUID dokumen induk yang memiliki frame ini. Ini tidak disetel jika tidak ada induk.
-
parentFrameId
angka
ID frame yang menggabungkan frame yang mengirim permintaan. Tetapkan ke -1 jika tidak ada frame induk.
-
requestId
string
ID permintaan. ID permintaan bersifat unik dalam sesi browser. Akibatnya, peristiwa tersebut 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.
-
tipe
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 suatu permintaan telah diterima.
Parameter
-
callback
fungsi
Parameter
callback
terlihat seperti:(details: object) => BlockingResponse | undefined
-
detail
objek
-
documentId
string
Chrome 106+UUID dokumen yang membuat permintaan.
-
documentLifecycleChrome 106+
Siklus proses tempat dokumen berada.
-
frameId
angka
Nilai 0 menunjukkan bahwa permintaan terjadi di frame utama; nilai positif menunjukkan ID subframe tempat permintaan terjadi. Jika dokumen bingkai (sub-) dimuat (
type
adalahmain_frame
atausub_frame
),frameId
menunjukkan ID bingkai ini, bukan ID bingkai luar. ID Frame bersifat unik di dalam tab. -
frameTypeChrome 106+
Jenis frame tempat permintaan terjadi.
-
inisiator
string opsional
Chrome 63 dan yang lebih baruAsal tempat permintaan dimulai. Hal ini tidak berubah melalui pengalihan. Jika asalnya buram, string 'null' akan digunakan.
-
method
string
Metode HTTP standar.
-
parentDocumentId
string opsional
Chrome 106+UUID dokumen induk yang memiliki frame ini. Ini tidak disetel jika tidak ada induk.
-
parentFrameId
angka
ID frame yang menggabungkan frame yang mengirim permintaan. Tetapkan ke -1 jika tidak ada frame induk.
-
requestId
string
ID permintaan. ID permintaan bersifat unik dalam sesi browser. Akibatnya, peristiwa tersebut 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 string 'HTTP/0.9 200 OK' 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.
-
tipe
Cara penggunaan resource yang diminta.
-
url
string
-
-
akan menampilkan
BlockingResponse | tidak ditentukan
Jika "pemblokiran" ditentukan dalam parameter "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:(details: object) => void
-
detail
objek
-
documentId
string
Chrome 106+UUID dokumen yang membuat permintaan.
-
documentLifecycleChrome 106+
Siklus proses tempat dokumen berada.
-
frameId
angka
Nilai 0 menunjukkan bahwa permintaan terjadi di frame utama; nilai positif menunjukkan ID subframe tempat permintaan terjadi. Jika dokumen bingkai (sub-) dimuat (
type
adalahmain_frame
atausub_frame
),frameId
menunjukkan ID bingkai ini, bukan ID bingkai luar. ID Frame bersifat unik di dalam tab. -
frameTypeChrome 106+
Jenis frame tempat permintaan terjadi.
-
fromCache
boolean
Menunjukkan jika 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 asalnya buram, string 'null' akan digunakan.
-
ip
string opsional
Alamat IP server tempat permintaan sebenarnya dikirim. Perhatikan bahwa alamat ini mungkin berupa alamat IPv6 literal.
-
method
string
Metode HTTP standar.
-
parentDocumentId
string opsional
Chrome 106+UUID dokumen induk yang memiliki frame ini. Ini tidak disetel jika tidak ada induk.
-
parentFrameId
angka
ID frame yang menggabungkan frame yang mengirim permintaan. Tetapkan ke -1 jika tidak ada frame induk.
-
requestId
string
ID permintaan. ID permintaan bersifat unik dalam sesi browser. Akibatnya, peristiwa tersebut dapat digunakan untuk mengaitkan berbagai peristiwa dari permintaan yang sama.
-
responseHeaders
HttpHeaders opsional
Header respons HTTP yang diterima beserta respons ini.
-
statusCode
angka
Kode status HTTP standar yang ditampilkan oleh server.
-
statusLine
string
Baris status HTTP respons atau string 'HTTP/0.9 200 OK' 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.
-
tipe
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 (modifikasi callback onBeforeSendHeaders sebelumnya terlihat pada saat onSendHeaders diaktifkan).
Parameter
-
callback
fungsi
Parameter
callback
terlihat seperti:(details: object) => void
-
detail
objek
-
documentId
string
Chrome 106+UUID dokumen yang membuat permintaan.
-
documentLifecycleChrome 106+
Siklus proses tempat dokumen berada.
-
frameId
angka
Nilai 0 menunjukkan bahwa permintaan terjadi di frame utama; nilai positif menunjukkan ID subframe tempat permintaan terjadi. Jika dokumen bingkai (sub-) dimuat (
type
adalahmain_frame
atausub_frame
),frameId
menunjukkan ID bingkai ini, bukan ID bingkai luar. ID Frame bersifat unik di dalam tab. -
frameTypeChrome 106+
Jenis frame tempat permintaan terjadi.
-
inisiator
string opsional
Chrome 63 dan yang lebih baruAsal tempat permintaan dimulai. Hal ini tidak berubah melalui pengalihan. Jika asalnya buram, string 'null' akan digunakan.
-
method
string
Metode HTTP standar.
-
parentDocumentId
string opsional
Chrome 106+UUID dokumen induk yang memiliki frame ini. Ini tidak disetel jika tidak ada induk.
-
parentFrameId
angka
ID frame yang menggabungkan frame yang mengirim permintaan. Tetapkan 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, peristiwa tersebut 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.
-
tipe
Cara penggunaan resource yang diminta.
-
url
string
-
-
-
filter
-
extraInfoSpec
OnSendHeadersOptions[] opsional