Açıklama
Trafiği gözlemleyip analiz etmek ve yayın sırasındaki isteklere müdahale etmek, bunları engellemek veya değiştirmek için chrome.webRequest
API'yi kullanın.
İzinler
webRequest
Manifest
Web isteği API'sini kullanmak için gerekli ana makine izinleriyle birlikte uzantı manifestinde "webRequest"
iznini beyan etmeniz gerekir. Bir alt kaynak isteğine müdahale etmek için uzantının hem istenen URL'ye hem de başlatıcısına erişebilmesi gerekir. Örneğin:
{
"name": "My extension",
...
"permissions": [
"webRequest"
],
"host_permissions": [
"*://*.google.com/*"
],
...
}
Chrome 108'den itibaren, "webRequest"
ve "webRequestAuthProvider"
izinlerini kullanıyorsanız onAuthRequired
etkinlikleri için kimlik bilgilerini eşzamansız olarak sağlayabilirsiniz.
İsteklerin yaşam döngüsü
Web isteği API'si, bir web isteğinin yaşam döngüsünü takip eden bir etkinlik kümesi tanımlar. Bu etkinlikleri kullanarak trafiği gözlemleyip analiz edebilirsiniz. Bazı eşzamanlı etkinlikler bir isteğe müdahale etmenize, engellemenize veya değiştirmenize olanak tanır.
Başarılı isteklere ilişkin etkinlik yaşam döngüsü aşağıda gösterilmiştir ve etkinlik tanımlarına yer verilmiştir:
onBeforeRequest
(isteğe bağlı olarak eşzamanlı)- Bir istek gerçekleşmek üzereyken tetiklenir. Bu etkinlik herhangi bir TCP bağlantısı kurulmadan önce gönderilir ve istekleri iptal etmek veya yönlendirmek için kullanılabilir.
onBeforeSendHeaders
(isteğe bağlı olarak eşzamanlı)- Bir istek gerçekleşmek üzereyken ve ilk başlıklar hazırlandığında tetiklenir. Etkinliğin, uzantıların istek başlıkları (*) eklemesine, değiştirmesine ve silmesine izin vermesi amaçlanmıştır.
onBeforeSendHeaders
etkinliği tüm abonelere iletilir, bu nedenle farklı aboneler isteği değiştirmeyi deneyebilir. Bunun nasıl işlendiğini öğrenmek için Uygulama ayrıntıları bölümüne bakın. Bu etkinlik, isteği iptal etmek için kullanılabilir. onSendHeaders
- Tüm uzantılar, istek başlıklarını değiştirme fırsatı yakaladıktan sonra ortaya çıkan tetiklemeler ve son (*) sürümü sunar. Etkinlik, üstbilgiler ağa gönderilmeden önce tetiklenir. Bu etkinlik bilgilendirme amaçlıdır ve eşzamansız olarak işlenir. İsteğin değiştirilmesine veya iptal edilmesine izin vermez.
onHeadersReceived
(isteğe bağlı olarak eşzamanlı)- HTTP(S) yanıt başlığı her alındığında tetiklenir. Bu, yönlendirmeler ve kimlik doğrulama istekleri nedeniyle istek başına birden fazla kez gerçekleşebilir. Bu etkinliğin amacı, uzantıların gelen Content-Type üstbilgileri gibi yanıt başlıklarını eklemesine, değiştirmesine ve silmesine izin vermektir. Önbelleğe alma yönergeleri, bu etkinlik tetiklenmeden önce işlenir. Bu nedenle, Önbellek Kontrolü gibi üst bilgileri değiştirmenin tarayıcının önbelleği üzerinde hiçbir etkisi olmaz. Ayrıca isteği iptal etmenize veya yönlendirmenize de olanak tanır.
onAuthRequired
(isteğe bağlı olarak eşzamanlı)- Bir istek, kullanıcının kimlik doğrulamasını gerektirdiğinde tetiklenir. Bu etkinlik, kimlik doğrulama kimlik bilgileri sağlamak için eşzamanlı olarak işlenebilir. Uzantıların geçersiz kimlik bilgileri sağlayabileceğini unutmayın. Sürekli olarak geçersiz kimlik bilgileri sağlayarak sonsuz döngüye girmemeye dikkat edin. Bu özellik, isteği iptal etmek için de kullanılabilir.
onBeforeRedirect
- Bir yönlendirme yürütülmek üzereyken tetiklenir. Yönlendirme, HTTP yanıt kodu veya bir uzantı tarafından tetiklenebilir. Bu etkinlik bilgilendirme amaçlıdır ve eşzamansız olarak işlenir. İsteği değiştirmenize veya iptal etmenize izin vermez.
onResponseStarted
- Yanıt gövdesinin ilk baytı alındığında tetiklenir. HTTP istekleri için bu, durum satırı ve yanıt üst bilgilerinin kullanılabileceği anlamına gelir. Bu etkinlik bilgilendirme amaçlıdır ve eşzamansız olarak işlenir. İsteğin değiştirilmesine veya iptal edilmesine izin vermez.
onCompleted
- Bir istek başarıyla işlendiğinde tetiklenir.
onErrorOccurred
- İstek başarıyla işlenemediğinde tetiklenir.
Web isteği API'si, her bir istek için onCompleted
veya onErrorOccurred
öğelerinin son etkinlik olarak tetiklenmesini sağlar. Ancak bir istisna söz konusudur: Bir istek bir data://
URL'sine yönlendirilirse onBeforeRedirect
, en son raporlanan etkinlik olur.
* Web isteği API'sinin, uzantıya ağ yığınının bir soyutlamasını sunduğunu unutmayın. Dahili olarak bir URL isteği birkaç HTTP isteğine bölünebilir (örneğin, büyük bir dosyadan bağımsız bayt aralıklarını almak için) veya ağ ile iletişim kurmadan ağ yığını tarafından işlenebilir. Bu nedenle API, ağa gönderilen son HTTP üst bilgilerini sağlamaz. Örneğin, önbelleğe almayla ilgili hiçbir üstbilgi uzantı tarafından görülemez.
Aşağıdaki üstbilgiler şu anda onBeforeSendHeaders
etkinliği için sağlanmamaktadır. Bu listenin eksiksiz veya kararlı olacağı garanti edilmez.
- Yetkilendirme
- Önbellek-Denetimi
- Bağlantı
- Content-Length
- Düzenleyen
- Eğer-Değiştirilmişse
- Eşleşmeyen-Eğer-Hiçbiri
- Eğer aralığı
- Kısmi Veri
- Pragma
- Proxy-Yetkilendirmesi
- Proxy-Bağlantısı
- Aktarım-Kodlama
Chrome 79'dan itibaren istek başlığı değişiklikleri, merkezler arası kaynak paylaşımı (CORS) kontrollerini etkiler. Kaynaklar arası istekler için değiştirilen başlıklar ölçütleri karşılamıyorsa, sunucuya bu tür başlıkların kabul edilip edilmeyeceğini sormak için bir CORS ön kontrolü gönderilir. Başlıkları CORS protokolünü ihlal edecek şekilde değiştirmeniz gerekiyorsa opt_extraInfoSpec
içinde 'extraHeaders'
değerini belirtmeniz gerekir. Diğer yandan, yanıt başlığı değişiklikleri, CORS kontrollerini yanıltmak için işe yaramaz. CORS protokolünü yanıltmanız gerekiyorsa yanıt değişiklikleri için 'extraHeaders'
değerini de belirtmeniz gerekir.
Chrome 79'dan itibaren webRequest API'si, varsayılan olarak CORS ön kontrol isteklerine ve yanıtlarına müdahale etmez. Bir istek URL'si için opt_extraInfoSpec
öğesinde 'extraHeaders'
belirtilmiş bir işleyici varsa bir istek URL'sine ilişkin CORS ön kontrolü, uzantı tarafından görülebilir.
onBeforeRequest
ayrıca Chrome 79'dan 'extraHeaders'
alabilir.
Chrome 79'dan itibaren aşağıdaki istek başlığı sağlanmamaktadır ve opt_extraInfoSpec
içinde 'extraHeaders'
belirtilmeden değiştirilemez veya kaldırılamaz:
- Köken
Chrome 72'den itibaren, Çapraz Kaynak Okuma Engelleme (CORB) özelliğinin yanıtı engelleyebilmesi için yanıtları değiştirmeniz gerekiyorsa opt_extraInfoSpec
içinde 'extraHeaders'
değerini belirtmeniz gerekir.
Chrome 72'den itibaren aşağıdaki istek başlıkları sağlanmamaktadır ve opt_extraInfoSpec
içinde 'extraHeaders'
belirtilmeden değiştirilemez veya kaldırılamaz:
- Kabul-Dil
- Kodlamayı Kabul Etme
- Başvuran
- Çerez
Chrome 72'den itibaren Set-Cookie
yanıt başlığı sağlanmamaktadır ve opt_extraInfoSpec
içinde 'extraHeaders'
belirtilmeden değiştirilemez veya kaldırılamaz.
Chrome 89'dan itibaren X-Frame-Options
yanıt başlığı, opt_extraInfoSpec
içinde 'extraHeaders'
belirtilmeden etkili bir şekilde değiştirilemez veya kaldırılamaz.
webRequest API, ana makine izinleri verildiğinde yalnızca uzantının görme iznine sahip olduğu istekleri gösterir. Ayrıca, yalnızca şu şemalara erişilebilir: http://
, https://
,
ftp://
, file://
, ws://
(Chrome 58'den itibaren), wss://
(Chrome 58'den itibaren), urn:
(Chrome 91'den itibaren) veya
chrome-extension://
. Ayrıca, yukarıdaki şemalardan birini kullanan URL'lere sahip belirli istekler bile gizlenir. other_extension_id
, isteği işlemek için kullanılacak uzantının kimliği olmadığı chrome-extension://other_extension_id
, https://www.google.com/chrome
ve tarayıcı işlevselliğinin temelinde yer alan diğer hassas istekleri içerir. Ayrıca, uzantınızdaki eşzamanlı XMLHttpRequests, kilitlenmeleri önlemek için etkinlik işleyicileri engellemeye karşı gizlenir. Desteklenen şemalardan bazıları için mevcut etkinlikler kümesinin ilgili protokolün yapısı nedeniyle sınırlı olabileceğini unutmayın. Örneğin, şu dosya: şeması için yalnızca onBeforeRequest
,
onResponseStarted
, onCompleted
ve onErrorOccurred
dağıtılabilir.
Chrome 58 sürümünden itibaren webRequest API'si, WebSocket el sıkışma isteğine müdahale etmeyi destekler. El sıkışma işlemi HTTP yükseltme isteği aracılığıyla yapıldığından, el sıkışma işleminin akışı HTTP odaklı webRequest modeline sığar. API'nin şunları engellemediğini unutmayın:
- Oluşturulan bir WebSocket bağlantısı üzerinden gönderilen bağımsız iletiler.
- WebSocket bağlantısı kapatılıyor.
Yönlendirmeler, WebSocket istekleri için desteklenmez.
Chrome 72'den itibaren bir uzantı, yalnızca hem istenen URL hem de isteği başlatan için ana makine izinlerine sahip olduğunda bir isteğe müdahale edebilir.
webRequest API'si, Chrome 96'dan itibaren HTTP/3 el sıkışma isteği üzerinden WebTransport'a müdahale etmeyi destekler. El sıkışma işlemi HTTP CONNECT isteği aracılığıyla yapıldığından akışı HTTP tabanlı webRequest modeline uygundur. Unutmayın:
- Oturum oluşturulduktan sonra, uzantılar webRequest API'si aracılığıyla oturumu gözlemleyemez veya oturuma müdahale edemez.
onBeforeSendHeaders
ürününde HTTP istek üstbilgilerinin değiştirilmesi dikkate alınmaz.- Yönlendirmeler ve kimlik doğrulamalar, WebTransport'ta HTTP/3 üzerinden desteklenmez.
Kavramlar
Aşağıdaki bölümlerde açıklandığı gibi, web isteği API'sindeki etkinlikler istek kimliklerini kullanır ve isteğe bağlı olarak etkinlik işleyicilerini kaydederken filtreler ve ek bilgiler belirtebilirsiniz.
İstek kimlikleri
Her istek bir istek kimliğiyle tanımlanır. Bu kimlik, tarayıcı oturumu ve bir uzantının bağlamında benzersizdir. Bir isteğin yaşam döngüsü boyunca sabit kalır ve aynı istekteki etkinlikleri eşleştirmek için kullanılabilir. HTTP yönlendirmesi veya HTTP kimlik doğrulaması durumunda birkaç HTTP isteğinin bir web isteğiyle eşlendiğini unutmayın.
Etkinlik işleyicilerini kaydetme
Bir web isteği için etkinlik işleyici kaydetmek isterseniz her zamanki addListener()
işlevindeki bir varyasyonu kullanırsınız. Geri çağırma işlevinin yanı sıra bir filtre bağımsız değişkeni belirtmeniz gerekir ve isteğe bağlı bir ekstra bilgi bağımsız değişkeni belirtebilirsiniz.
Web isteği API'sinin addListener()
bağımsız değişkeni aşağıdaki tanımlara sahiptir:
var callback = function(details) {...};
var filter = {...};
var opt_extraInfoSpec = [...];
onBeforeRequest
etkinliğini dinlemeyle ilgili bir örneği aşağıda bulabilirsiniz:
chrome.webRequest.onBeforeRequest.addListener(
callback, filter, opt_extraInfoSpec);
Her addListener()
çağrısı, ilk parametre olarak zorunlu bir geri çağırma işlevini alır. Bu geri çağırma işlevine, geçerli URL isteği hakkında bilgi içeren bir sözlük iletilir. Bu sözlükteki bilgiler hem belirli etkinlik türüne hem de opt_extraInfoSpec
içeriğine bağlıdır.
İsteğe bağlı opt_extraInfoSpec
dizisi, 'blocking'
dizesini içeriyorsa (yalnızca belirli etkinlikler için izin verilir) geri çağırma işlevi eşzamanlı olarak işlenir. Bu, geri çağırma işlevi geri dönene kadar isteğin engellendiği anlamına gelir. Bu durumda geri çağırma, isteğin gelecekteki yaşam döngüsünü belirleyen bir webRequest.BlockingResponse
döndürebilir. Bağlama bağlı olarak, bu yanıt bir isteğin iptal edilmesine veya yönlendirilmesine (onBeforeRequest
), isteğin iptal edilmesine veya başlıkların değiştirilmesine (onBeforeSendHeaders
, onHeadersReceived
) ve isteğin iptal edilmesine ya da kimlik doğrulama kimlik bilgilerinin sağlanmasına (onAuthRequired
) izin verir.
İsteğe bağlı opt_extraInfoSpec
dizisi, bunun yerine 'asyncBlocking'
dizesini içeriyorsa (yalnızca onAuthRequired
için izin verilir) uzantı, webRequest.BlockingResponse
dizesini eşzamansız olarak oluşturabilir.
webRequest.RequestFilter
filter
, etkinliklerin çeşitli boyutlarda tetiklendiği isteklerin sınırlanmasına olanak tanır:
- URL'ler
*://www.google.com/foo*bar
gibi URL kalıpları.- Türler
main_frame
(üst düzey çerçeve için yüklenen doküman),sub_frame
(yerleştirilmiş bir çerçeve için yüklenen doküman) veimage
(web sitesindeki bir resim) gibi istek türleri. İlgili konu:webRequest.RequestFilter
.- Sekme Kimliği
- Bir sekmenin tanımlayıcısı.
- Pencere kimliği
- Pencerenin tanımlayıcısıdır.
Etkinlik türüne bağlı olarak, istek hakkında ek bilgi istemek için opt_extraInfoSpec
içinde dizeler belirtebilirsiniz. Bu, yalnızca açıkça istenirse isteğin verileri hakkında ayrıntılı bilgi sağlamak için kullanılır.
Uygulama ayrıntıları
Web isteği API'sini kullanan bir uzantı geliştirirken uygulamayla ilgili birkaç ayrıntının anlaşılması önemli olabilir:
web_accessible_resources
Bir uzantı, herkese açık bir kaynak isteğini web'den erişilemeyen bir kaynağa yönlendirmek için webRequest API'lerini kullandığında engellenir ve hataya neden olur. Web'den erişilemeyen kaynak, yönlendirme uzantısına ait olsa da yukarıda anlatılanlar geçerlidir. declarativeWebRequest API'leriyle kullanılacak kaynakları bildirmek için "web_accessible_resources"
dizisi, burada açıklandığı gibi manifest dosyasında beyan edilmeli ve doldurulmalıdır.
Çatışma çözümü
Web request API'nin mevcut uygulamasında, en az bir uzantı isteği iptal etme talimatı veriyorsa istek iptal edilmiş olarak kabul edilir. Bir uzantı isteği iptal ederse bir onErrorOccurred
etkinliği tüm uzantılara bildirim gönderir. Aynı anda yalnızca bir uzantı bir isteği yönlendirebilir veya başlığı değiştirebilir. Birden fazla uzantı isteği değiştirmeye çalışırsa en son yüklenen uzantı kazanır ve diğer tüm uzantılar yoksayılır. Değiştirme veya yönlendirme talimatları yok sayıldığında
uzantılara bildirim gönderilmez.
Önbelleğe alma
Chrome iki önbellek kullanır: diskte önbellek ve çok hızlı bellek içi önbellek. Bellek içi önbelleğin ömrü, oluşturma işleminin ömrüne bağlıdır. Bu, kabaca bir sekmeye denk gelir.
Bellek içi önbellekten yanıtlanan istekler web isteği API'sinde görünmez. Bir istek işleyici davranışını değiştirirse (örneğin, hangi isteklerin engellendiğine göre davranış) basit bir sayfa yenileme işlemi, değişen bu davranışa uymayabilir. Davranış değişikliğinin gerçekleşmesini sağlamak üzere bellek içi önbelleği temizlemek için handlerBehaviorChanged()
yöntemini çağırın. Ancak bunu çok sık yapmayın. Önbelleğin temizlenmesi çok pahalı bir işlemdir. Bir etkinlik işleyiciyi kaydettirdikten veya kaydını iptal ettikten sonra handlerBehaviorChanged()
yöntemini çağırmanıza gerek yoktur.
Zaman damgaları
Web isteği etkinliklerinin timestamp
özelliğinin yalnızca dahili olarak tutarlı olacağı garanti edilir.
Bir etkinliği başka bir etkinlikle karşılaştırmak, aralarındaki farkları doğru şekilde belirlemenizi sağlar. Ancak bunları uzantının içindeki geçerli zamanla (örneğin, (new Date()).getTime()
aracılığıyla) karşılaştırmak beklenmeyen sonuçlara yol açabilir.
Hata işleme
Geçersiz bağımsız değişkenlerle bir etkinliği kaydetmeye çalışırsanız bir JavaScript hatası verilir ve etkinlik işleyici kaydedilmez. Bir etkinlik işlenirken hata verilirse veya bir etkinlik işleyici geçersiz bir engelleme yanıtı döndürürse uzantınızın konsoluna bir hata mesajı kaydedilir ve işleyici bu istek için yok sayılır.
Örnekler
Aşağıdaki örnekte, tüm www.evil.com
isteklerinin nasıl engelleneceği gösterilmektedir:
chrome.webRequest.onBeforeRequest.addListener(
function(details) {
return {cancel: details.url.indexOf("://www.evil.com/") != -1};
},
{urls: ["<all_urls>"]},
["blocking"]
);
Bu işlev bir engelleme etkinlik işleyicisi kullandığından, manifest dosyasında "webRequest"
izninin yanı sıra "webRequestBlocking"
iznini de gerektirir.
Aşağıdaki örnekte, aynı hedefe daha etkili bir şekilde ulaşılmakta, çünkü www.evil.com
hedefine hedeflenmeyen isteklerin uzantıya iletilmesine gerek yoktur:
chrome.webRequest.onBeforeRequest.addListener(
function(details) { return {cancel: true}; },
{urls: ["*://www.evil.com/*"]},
["blocking"]
);
Aşağıdaki örnekte, tüm isteklerden User-Agent üstbilgisinin nasıl silineceği gösterilmektedir:
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"]
);
chrome.webRequest
API'yi denemek için chrome-extension-samples deposundan webRequest örneğini yükleyin.
Türler
BlockingResponse
"blocking" extraInfoSpec (engelleme) özelliğinin uygulandığı etkinlik işleyiciler için değer döndürür. Etkinlik işleyicinin ağ isteklerini değiştirmesine izin verir.
Özellikler
-
authCredentials
isteğe bağlı
Yalnızca onAuthOptional etkinliğine yanıt olarak kullanılır. Ayarlanırsa istek, sağlanan kimlik bilgileri kullanılarak yapılır.
-
şifre
dize
-
kullanıcı adı
dize
-
-
cancel
boole isteğe bağlı
Doğru değerine ayarlanırsa istek iptal edilir. Bu, isteğin gönderilmesini engeller. Bu; onBeforeRequest, onBeforeSendHeaders, onHeadersReceived ve onAuthRequired etkinliklerine yanıt olarak kullanılabilir.
-
redirectUrl
string isteğe bağlı
Yalnızca onBeforeRequest ve onHeadersReceived etkinliklerine yanıt olarak kullanılır. Ayarlanırsa orijinal isteğin gönderilmesi/tamamlanması engellenir ve bunun yerine belirtilen URL'ye yönlendirilir.
data:
gibi HTTP olmayan şemalara yönlendirmelere izin verilir. Bir yönlendirme işlemi tarafından başlatılan yönlendirmelerde, bir istisna dışında yönlendirme için orijinal istek yöntemi kullanılır: Yönlendirme onHeadersReceived aşamasında başlatılırsa GET yöntemi kullanılarak gönderilir.ws://
vewss://
şemalarına sahip URL'lerden yapılan yönlendirmeler yoksayılır. -
requestHeaders
HttpHeaders isteğe bağlı
Yalnızca onBeforeSendHeaders etkinliğine yanıt olarak kullanılır. Ayarlanırsa istek, bunun yerine bu istek başlıklarıyla yapılır.
-
responseHeaders
HttpHeaders isteğe bağlı
Yalnızca onHeadersReceived etkinliğine yanıt olarak kullanılır. Ayarlanırsa sunucunun bunun yerine bu yanıt başlıklarıyla yanıt verdiği varsayılır. Yalnızca çakışmaların sayısını sınırlamak için başlıkları gerçekten değiştirmek istiyorsanız
responseHeaders
değerini döndürün (her istek için yalnızca bir uzantıresponseHeaders
değiştirebilir).
FormDataItem
Form verileri içinde iletilen verileri içerir. url ile kodlanmış biçimde, veriler utf-8 dizesiyse dize olarak, aksi takdirde ArrayBuffer olarak depolanır. Form verileri için ArrayBuffer olur. Form-data dosya yüklemeyi temsil ediyorsa, dosya adı sağlanmışsa dosya adını da içeren bir dize olur.
Enum
ArrayBuffer
dize
HttpHeaders
HTTP üst bilgileri dizisi. Her başlık, name
ve value
ya da binaryValue
anahtarlarını içeren bir sözlük olarak gösterilir.
Tür
nesne[]
Özellikler
-
binaryValue
number[] isteğe bağlı
UTF-8 ile temsil edilemiyorsa HTTP üstbilgisinin bağımsız bayt değerleri (0..255) olarak depolanan değeri.
-
ad
dize
HTTP üstbilgisinin adı.
-
value
string isteğe bağlı
UTF-8 ile temsil edilebiliyorsa HTTP üstbilgisinin değeri.
IgnoredActionType
Enum
"redirect" (yönlendirme)
"request_headers"
"response_headers"
"auth_credentials"
OnAuthRequiredOptions
Enum
"ResponseHeaders"
Yanıt üstbilgilerinin etkinliğe dahil edilmesi gerektiğini belirtir.
"blocking"
Geri çağırma işlevi geri dönene kadar isteğin engellendiğini belirtir.
"asyncBlock"
Geri çağırma işlevinin eşzamansız olarak işleneceğini belirtir.
"extraHeaders"
Üstbilgilerin, merkezler arası kaynak paylaşımını (CORS) ihlal edebileceğini belirtir.
OnBeforeRedirectOptions
Enum
"ResponseHeaders"
Yanıt üstbilgilerinin etkinliğe dahil edilmesi gerektiğini belirtir.
"extraHeaders"
Üstbilgilerin, merkezler arası kaynak paylaşımını (CORS) ihlal edebileceğini belirtir.
OnBeforeRequestOptions
Enum
"blocking"
Geri çağırma işlevi geri dönene kadar isteğin engellendiğini belirtir.
"requestBody"
İsteğin gövdesinin etkinliğe dahil edilmesi gerektiğini belirtir.
"extraHeaders"
Üstbilgilerin, merkezler arası kaynak paylaşımını (CORS) ihlal edebileceğini belirtir.
OnBeforeSendHeadersOptions
Enum
"requestHeaders"
İstek başlığının etkinliğe dahil edilmesi gerektiğini belirtir.
"blocking"
Geri çağırma işlevi geri dönene kadar isteğin engellendiğini belirtir.
"extraHeaders"
Üstbilgilerin, merkezler arası kaynak paylaşımını (CORS) ihlal edebileceğini belirtir.
OnCompletedOptions
Enum
"ResponseHeaders"
Yanıt üstbilgilerinin etkinliğe dahil edilmesi gerektiğini belirtir.
"extraHeaders"
Üstbilgilerin, merkezler arası kaynak paylaşımını (CORS) ihlal edebileceğini belirtir.
OnErrorOccurredOptions
Değer
"extraHeaders"
OnHeadersReceivedOptions
Enum
"blocking"
Geri çağırma işlevi geri dönene kadar isteğin engellendiğini belirtir.
"ResponseHeaders"
Yanıt üstbilgilerinin etkinliğe dahil edilmesi gerektiğini belirtir.
"extraHeaders"
Üstbilgilerin, merkezler arası kaynak paylaşımını (CORS) ihlal edebileceğini belirtir.
OnResponseStartedOptions
Enum
"ResponseHeaders"
Yanıt üstbilgilerinin etkinliğe dahil edilmesi gerektiğini belirtir.
"extraHeaders"
Üstbilgilerin, merkezler arası kaynak paylaşımını (CORS) ihlal edebileceğini belirtir.
OnSendHeadersOptions
Enum
"requestHeaders"
İstek başlığının etkinliğe dahil edilmesi gerektiğini belirtir.
"extraHeaders"
Üstbilgilerin, merkezler arası kaynak paylaşımını (CORS) ihlal edebileceğini belirtir.
RequestFilter
webRequest etkinliklerine uygulanacak filtreleri açıklayan bir nesne.
Özellikler
-
tabId
numara isteğe bağlı
-
türler
ResourceType[] isteğe bağlı
İstek türlerinin listesi. Türlerin hiçbiriyle eşleşemeyen istekler filtrelenir.
-
urls
dize[]
URL veya URL kalıpları listesi. URL'lerin hiçbiriyle eşleşemeyen istekler filtrelenir.
-
windowId
numara isteğe bağlı
ResourceType
Enum
"main_frame"
Kaynağı ana çerçeve olarak belirtir.
"sub_frame"
Kaynağı alt çerçeve olarak belirtir.
"stylesheet"
Kaynağı stil sayfası olarak belirtir.
"script"
Kaynağı komut dosyası olarak belirtir.
"image"
Kaynağı resim olarak belirtir.
"font"
Kaynağı yazı tipi olarak belirtir.
"object"
Kaynağı nesne olarak belirtir.
"xmlhttprequest"
Kaynağı XMLHttpRequest olarak belirtir.
"ping"
Kaynağı ping olarak belirtir.
"csp_report"
Kaynağı İçerik Güvenliği Politikası (İGP) raporu olarak belirtir.
"media"
Kaynağı medya nesnesi olarak belirtir.
"websocket"
Kaynağı WebSocket olarak belirtir.
"webbundle"
Kaynağı WebBundle olarak belirtir.
"other"
Kaynağı, listelenen türlerde bulunmayan bir tür olarak belirtir.
UploadData
URL isteğinde yüklenen verileri içerir.
Özellikler
-
bayt
isteğe bağlı
Verilerin kopyasını içeren bir ArrayBuffer.
-
file
string isteğe bağlı
Dosyanın yolunu ve adını içeren bir dize.
Özellikler
MAX_HANDLER_BEHAVIOR_CHANGED_CALLS_PER_10_MINUTES
handlerBehaviorChanged
işlevinin 10 dakikalık sürekli aralık başına maksimum çağrı sayısı. handlerBehaviorChanged
, çok sık çağrılmaması gereken, pahalı bir işlev çağrısıdır.
Değer
20
Yöntemler
handlerBehaviorChanged()
chrome.webRequest.handlerBehaviorChanged(
callback?: function,
)
Önbelleğe alma nedeniyle yanlış işlemeyi önlemek için webRequest işleyicilerinin davranışı değiştiğinde çağrılmalıdır. Bu işlev çağrısı pahalı. Onu çok sık aramayın.
Parametreler
-
geri çağırma
Functions (isteğe bağlı)
callback
parametresi şu şekilde görünür:() => void
İlerlemeler
-
Promise<void>
Chrome 116 ve sonraki sürümlerVaatler yalnızca Manifest V3 ve sonraki sürümlerde desteklenir. Diğer platformların geri çağırmaları kullanması gerekir.
Etkinlikler
onActionIgnored
chrome.webRequest.onActionIgnored.addListener(
callback: function,
)
Uzantının ağ isteği için önerdiği değişiklik yoksayıldığında tetiklenir. Bu durum, diğer uzantılarla çakışma olması durumunda gerçekleşir.
Parametreler
-
geri çağırma
işlev
callback
parametresi şu şekilde görünür:(details: object) => void
-
ayrıntılar
nesne
-
işlem
Göz ardı edilen önerilen işlem.
-
requestId
dize
İsteğin kimliği. İstek kimlikleri bir tarayıcı oturumunda benzersizdir. Sonuç olarak, aynı talepteki farklı etkinlikleri ilişkilendirmek için kullanılabilirler.
-
-
onAuthRequired
chrome.webRequest.onAuthRequired.addListener(
callback: function,
filter: RequestFilter,
extraInfoSpec?: OnAuthRequiredOptions[],
)
Kimlik doğrulama hatası alındığında tetiklenir. Dinleyicinin üç seçeneği vardır: kimlik doğrulama bilgileri sağlayabilir, isteği iptal edip hata sayfasını görüntüleyebilir veya giriş sorgulamasında hiçbir işlem yapamaz. Hatalı kullanıcı kimlik bilgileri sağlanırsa bu kimlik aynı istek için birden çok kez çağrılabilir. extraInfoSpec
parametresinde 'blocking'
veya 'asyncBlocking'
modlarından yalnızca birinin belirtilmesi gerektiğini unutmayın.
Parametreler
-
geri çağırma
işlev
callback
parametresi şu şekilde görünür:(details: object, asyncCallback?: function) => BlockingResponse | undefined
-
ayrıntılar
nesne
-
meydan okuyan
nesne
Kimlik doğrulama isteğinde bulunan sunucu.
-
düzenleyen
dize
-
bağlantı noktası
sayı
-
-
documentId
dize
Chrome 106 ve sonraki sürümlerİsteği yapan dokümanın UUID'si.
-
documentLifecycleChrome 106 ve sonraki sürümler
Belgenin bulunduğu yaşam döngüsü.
-
frameId
sayı
0 değeri, isteğin ana çerçevede, pozitif değer ise isteğin gerçekleştiği alt çerçevenin kimliğini ifade eder. Bir (alt) çerçevenin dokümanı yüklendiyse (
type
,main_frame
veyasub_frame
ise)frameId
, dış çerçevenin kimliğini değil, bu çerçevenin kimliğini belirtir. Çerçeve kimlikleri bir sekme içinde benzersizdir. -
frameTypeChrome 106 ve sonraki sürümler
İsteğin gerçekleştiği çerçevenin türü.
-
başlatan
string isteğe bağlı
Chrome 63 ve sonraki sürümlerİsteğin başlatıldığı kaynak. Bu durum yönlendirmeler üzerinden değişmez. Bu opak bir kaynaksa "null" dizesi kullanılır.
-
isProxy
boolean
Proxy-Authenticate için True, WWW-Authenticate için false değerine ayarlayın.
-
method
dize
Standart HTTP yöntemi.
-
parentDocumentId
string isteğe bağlı
Chrome 106 ve sonraki sürümlerBu çerçevenin sahibi olan üst dokümanın UUID'si. Üst öğe yoksa bu ayar yapılmaz.
-
parentFrameId
sayı
İsteği gönderen çerçeveyi sarmalayan çerçevenin kimliği. Üst çerçeve yoksa -1 olarak ayarlayın.
-
erişim alanı
string isteğe bağlı
Sunucu tarafından sağlanan kimlik doğrulama alanı (varsa).
-
requestId
dize
İsteğin kimliği. İstek kimlikleri bir tarayıcı oturumunda benzersizdir. Sonuç olarak, aynı talepteki farklı etkinlikleri ilişkilendirmek için kullanılabilirler.
-
responseHeaders
HttpHeaders isteğe bağlı
Bu yanıtla birlikte alınan HTTP yanıt üstbilgileri.
-
şema
dize
Kimlik doğrulama düzeni, ör. Temel veya Özet.
-
statusCode
sayı
Chrome 43 ve sonraki sürümlerSunucu tarafından döndürülen standart HTTP durum kodu.
-
statusLine
dize
Yanıtın HTTP durum satırı veya HTTP/0.9 yanıtları için "HTTP/0.9 200 OK" dizesi (ör. durum satırı olmayan yanıtlar) ya da başlık yoksa boş dize.
-
tabId
sayı
İsteğin gerçekleştiği sekmenin kimliği. İstek bir sekmeyle ilgili değilse -1 olarak ayarlayın.
-
timeStamp
sayı
Dönemden bu yana, milisaniye cinsinden bu sinyalin tetiklendiği süre.
-
tür
İstenen kaynağın nasıl kullanılacağı.
-
url
dize
-
-
asyncCallback
Functions (isteğe bağlı)
Chrome 58 ve sonraki sürümlerasyncCallback
parametresi şu şekilde görünür:(response: BlockingResponse) => void
-
yanıt
-
-
returns
BlockingResponse | undefined
"extraInfoSpec" parametresinde "blocking" değeri belirtilirse etkinlik işleyicinin bu türde bir nesne döndürmesi gerekir.
-
-
filter
-
extraInfoSpec
OnAuthRequiredOptions[] isteğe bağlı
onBeforeRedirect
chrome.webRequest.onBeforeRedirect.addListener(
callback: function,
filter: RequestFilter,
extraInfoSpec?: OnBeforeRedirectOptions[],
)
Sunucu tarafından başlatılan bir yönlendirme gerçekleşmek üzereyken tetiklenir.
Parametreler
-
geri çağırma
işlev
callback
parametresi şu şekilde görünür:(details: object) => void
-
ayrıntılar
nesne
-
documentId
dize
Chrome 106 ve sonraki sürümlerİsteği yapan dokümanın UUID'si.
-
documentLifecycleChrome 106 ve sonraki sürümler
Belgenin bulunduğu yaşam döngüsü.
-
frameId
sayı
0 değeri, isteğin ana çerçevede, pozitif değer ise isteğin gerçekleştiği alt çerçevenin kimliğini ifade eder. Bir (alt) çerçevenin dokümanı yüklendiyse (
type
,main_frame
veyasub_frame
ise)frameId
, dış çerçevenin kimliğini değil, bu çerçevenin kimliğini belirtir. Çerçeve kimlikleri bir sekme içinde benzersizdir. -
frameTypeChrome 106 ve sonraki sürümler
İsteğin gerçekleştiği çerçevenin türü.
-
fromCache
boolean
Bu yanıtın disk önbelleğinden getirilip getirilmediğini gösterir.
-
başlatan
string isteğe bağlı
Chrome 63 ve sonraki sürümlerİsteğin başlatıldığı kaynak. Bu durum yönlendirmeler üzerinden değişmez. Bu opak bir kaynaksa "null" dizesi kullanılır.
-
ip
string isteğe bağlı
İsteğin gerçekten gönderildiği sunucu IP adresi. Bunun tam bir IPv6 adresi olabileceğini unutmayın.
-
method
dize
Standart HTTP yöntemi.
-
parentDocumentId
string isteğe bağlı
Chrome 106 ve sonraki sürümlerBu çerçevenin sahibi olan üst dokümanın UUID'si. Üst öğe yoksa bu ayar yapılmaz.
-
parentFrameId
sayı
İsteği gönderen çerçeveyi sarmalayan çerçevenin kimliği. Üst çerçeve yoksa -1 olarak ayarlayın.
-
redirectUrl
dize
Yeni URL.
-
requestId
dize
İsteğin kimliği. İstek kimlikleri bir tarayıcı oturumunda benzersizdir. Sonuç olarak, aynı talepteki farklı etkinlikleri ilişkilendirmek için kullanılabilirler.
-
responseHeaders
HttpHeaders isteğe bağlı
Bu yönlendirmeyle birlikte alınan HTTP yanıt üstbilgileri.
-
statusCode
sayı
Sunucu tarafından döndürülen standart HTTP durum kodu.
-
statusLine
dize
Yanıtın HTTP durum satırı veya HTTP/0.9 yanıtları için "HTTP/0.9 200 OK" dizesi (ör. durum satırı olmayan yanıtlar) ya da başlık yoksa boş dize.
-
tabId
sayı
İsteğin gerçekleştiği sekmenin kimliği. İstek bir sekmeyle ilgili değilse -1 olarak ayarlayın.
-
timeStamp
sayı
Dönemden bu yana, milisaniye cinsinden bu sinyalin tetiklendiği süre.
-
tür
İstenen kaynağın nasıl kullanılacağı.
-
url
dize
-
-
-
filter
-
extraInfoSpec
OnBeforeRedirectOptions[] isteğe bağlı
onBeforeRequest
chrome.webRequest.onBeforeRequest.addListener(
callback: function,
filter: RequestFilter,
extraInfoSpec?: OnBeforeRequestOptions[],
)
Bir istek gerçekleşmek üzereyken tetiklenir.
Parametreler
-
geri çağırma
işlev
callback
parametresi şu şekilde görünür:(details: object) => BlockingResponse | undefined
-
ayrıntılar
nesne
-
documentId
string isteğe bağlı
Chrome 106 ve sonraki sürümlerİsteği yapan dokümanın UUID'si.
-
documentLifecycle
extensionTypes.DocumentLifecycle isteğe bağlı
Chrome 106 ve sonraki sürümlerBelgenin bulunduğu yaşam döngüsü.
-
frameId
sayı
0 değeri, isteğin ana çerçevede, pozitif değer ise isteğin gerçekleştiği alt çerçevenin kimliğini ifade eder. Bir (alt) çerçevenin dokümanı yüklendiyse (
type
,main_frame
veyasub_frame
ise)frameId
, dış çerçevenin kimliğini değil, bu çerçevenin kimliğini belirtir. Çerçeve kimlikleri bir sekme içinde benzersizdir. -
frameType
extensionTypes.FrameType isteğe bağlı
Chrome 106 ve sonraki sürümlerİsteğin gerçekleştiği çerçevenin türü.
-
başlatan
string isteğe bağlı
Chrome 63 ve sonraki sürümlerİsteğin başlatıldığı kaynak. Bu durum yönlendirmeler üzerinden değişmez. Bu opak bir kaynaksa "null" dizesi kullanılır.
-
method
dize
Standart HTTP yöntemi.
-
parentDocumentId
string isteğe bağlı
Chrome 106 ve sonraki sürümlerBu çerçevenin sahibi olan üst dokümanın UUID'si. Üst öğe yoksa bu ayar yapılmaz.
-
parentFrameId
sayı
İsteği gönderen çerçeveyi sarmalayan çerçevenin kimliği. Üst çerçeve yoksa -1 olarak ayarlayın.
-
requestBody
isteğe bağlı
HTTP isteğinin gövde verilerini içerir. Yalnızca extraInfoSpec "requestBody" öğesini içeriyorsa sağlanır.
-
hata
string isteğe bağlı
İsteğin gövde verileri alınırken karşılaşılan hatalar.
-
formData
isteğe bağlı
İstek yöntemi POST ise ve gövde, UTF8'de kodlanmış, çok parçalı/form-veri veya application/x-www-form-urlencoded olarak kodlanmış bir anahtar/değer çifti dizisiyse bu sözlük mevcuttur ve her anahtar için, söz konusu anahtara ilişkin tüm değerlerin listesini içerir. Veri başka bir medya türündeyse veya hatalı biçimlendirilmişse sözlük mevcut değildir. Bu sözlüğün örnek bir değeri {'key': ['value1', 'value2']}.
-
ham
UploadData[] isteğe bağlı
İstek yöntemi PUT veya POST ise ve gövde formData'da zaten ayrıştırılmamışsa, ayrıştırılmamış istek gövde öğeleri bu dizide yer alır.
-
-
requestId
dize
İsteğin kimliği. İstek kimlikleri bir tarayıcı oturumunda benzersizdir. Sonuç olarak, aynı talepteki farklı etkinlikleri ilişkilendirmek için kullanılabilirler.
-
tabId
sayı
İsteğin gerçekleştiği sekmenin kimliği. İstek bir sekmeyle ilgili değilse -1 olarak ayarlayın.
-
timeStamp
sayı
Dönemden bu yana, milisaniye cinsinden bu sinyalin tetiklendiği süre.
-
tür
İstenen kaynağın nasıl kullanılacağı.
-
url
dize
-
-
returns
BlockingResponse | undefined
"extraInfoSpec" parametresinde "blocking" değeri belirtilirse etkinlik işleyicinin bu türde bir nesne döndürmesi gerekir.
-
-
filter
-
extraInfoSpec
OnBeforeRequestOptions[] isteğe bağlı
onBeforeSendHeaders
chrome.webRequest.onBeforeSendHeaders.addListener(
callback: function,
filter: RequestFilter,
extraInfoSpec?: OnBeforeSendHeadersOptions[],
)
Bir HTTP isteği gönderilmeden önce, istek başlıkları kullanılabilir olduğunda tetiklenir. Bu durum, sunucuya bir TCP bağlantısı kurulduktan sonra, ancak herhangi bir HTTP verisi gönderilmeden önce gerçekleşebilir.
Parametreler
-
geri çağırma
işlev
callback
parametresi şu şekilde görünür:(details: object) => BlockingResponse | undefined
-
ayrıntılar
nesne
-
documentId
dize
Chrome 106 ve sonraki sürümlerİsteği yapan dokümanın UUID'si.
-
documentLifecycleChrome 106 ve sonraki sürümler
Belgenin bulunduğu yaşam döngüsü.
-
frameId
sayı
0 değeri, isteğin ana çerçevede, pozitif değer ise isteğin gerçekleştiği alt çerçevenin kimliğini ifade eder. Bir (alt) çerçevenin dokümanı yüklendiyse (
type
,main_frame
veyasub_frame
ise)frameId
, dış çerçevenin kimliğini değil, bu çerçevenin kimliğini belirtir. Çerçeve kimlikleri bir sekme içinde benzersizdir. -
frameTypeChrome 106 ve sonraki sürümler
İsteğin gerçekleştiği çerçevenin türü.
-
başlatan
string isteğe bağlı
Chrome 63 ve sonraki sürümlerİsteğin başlatıldığı kaynak. Bu durum yönlendirmeler üzerinden değişmez. Bu opak bir kaynaksa "null" dizesi kullanılır.
-
method
dize
Standart HTTP yöntemi.
-
parentDocumentId
string isteğe bağlı
Chrome 106 ve sonraki sürümlerBu çerçevenin sahibi olan üst dokümanın UUID'si. Üst öğe yoksa bu ayar yapılmaz.
-
parentFrameId
sayı
İsteği gönderen çerçeveyi sarmalayan çerçevenin kimliği. Üst çerçeve yoksa -1 olarak ayarlayın.
-
requestHeaders
HttpHeaders isteğe bağlı
Bu istekle birlikte gönderilecek HTTP istek üstbilgileri.
-
requestId
dize
İsteğin kimliği. İstek kimlikleri bir tarayıcı oturumunda benzersizdir. Sonuç olarak, aynı talepteki farklı etkinlikleri ilişkilendirmek için kullanılabilirler.
-
tabId
sayı
İsteğin gerçekleştiği sekmenin kimliği. İstek bir sekmeyle ilgili değilse -1 olarak ayarlayın.
-
timeStamp
sayı
Dönemden bu yana, milisaniye cinsinden bu sinyalin tetiklendiği süre.
-
tür
İstenen kaynağın nasıl kullanılacağı.
-
url
dize
-
-
returns
BlockingResponse | undefined
"extraInfoSpec" parametresinde "blocking" değeri belirtilirse etkinlik işleyicinin bu türde bir nesne döndürmesi gerekir.
-
-
filter
-
extraInfoSpec
OnBeforeSendHeadersOptions[] isteğe bağlı
onCompleted
chrome.webRequest.onCompleted.addListener(
callback: function,
filter: RequestFilter,
extraInfoSpec?: OnCompletedOptions[],
)
Bir istek tamamlandığında tetiklenir.
Parametreler
-
geri çağırma
işlev
callback
parametresi şu şekilde görünür:(details: object) => void
-
ayrıntılar
nesne
-
documentId
dize
Chrome 106 ve sonraki sürümlerİsteği yapan dokümanın UUID'si.
-
documentLifecycleChrome 106 ve sonraki sürümler
Belgenin bulunduğu yaşam döngüsü.
-
frameId
sayı
0 değeri, isteğin ana çerçevede, pozitif değer ise isteğin gerçekleştiği alt çerçevenin kimliğini ifade eder. Bir (alt) çerçevenin dokümanı yüklendiyse (
type
,main_frame
veyasub_frame
ise)frameId
, dış çerçevenin kimliğini değil, bu çerçevenin kimliğini belirtir. Çerçeve kimlikleri bir sekme içinde benzersizdir. -
frameTypeChrome 106 ve sonraki sürümler
İsteğin gerçekleştiği çerçevenin türü.
-
fromCache
boolean
Bu yanıtın disk önbelleğinden getirilip getirilmediğini gösterir.
-
başlatan
string isteğe bağlı
Chrome 63 ve sonraki sürümlerİsteğin başlatıldığı kaynak. Bu durum yönlendirmeler üzerinden değişmez. Bu opak bir kaynaksa "null" dizesi kullanılır.
-
ip
string isteğe bağlı
İsteğin gerçekten gönderildiği sunucu IP adresi. Bunun tam bir IPv6 adresi olabileceğini unutmayın.
-
method
dize
Standart HTTP yöntemi.
-
parentDocumentId
string isteğe bağlı
Chrome 106 ve sonraki sürümlerBu çerçevenin sahibi olan üst dokümanın UUID'si. Üst öğe yoksa bu ayar yapılmaz.
-
parentFrameId
sayı
İsteği gönderen çerçeveyi sarmalayan çerçevenin kimliği. Üst çerçeve yoksa -1 olarak ayarlayın.
-
requestId
dize
İsteğin kimliği. İstek kimlikleri bir tarayıcı oturumunda benzersizdir. Sonuç olarak, aynı talepteki farklı etkinlikleri ilişkilendirmek için kullanılabilirler.
-
responseHeaders
HttpHeaders isteğe bağlı
Bu yanıtla birlikte alınan HTTP yanıt üstbilgileri.
-
statusCode
sayı
Sunucu tarafından döndürülen standart HTTP durum kodu.
-
statusLine
dize
Yanıtın HTTP durum satırı veya HTTP/0.9 yanıtları için "HTTP/0.9 200 OK" dizesi (ör. durum satırı olmayan yanıtlar) ya da başlık yoksa boş dize.
-
tabId
sayı
İsteğin gerçekleştiği sekmenin kimliği. İstek bir sekmeyle ilgili değilse -1 olarak ayarlayın.
-
timeStamp
sayı
Dönemden bu yana, milisaniye cinsinden bu sinyalin tetiklendiği süre.
-
tür
İstenen kaynağın nasıl kullanılacağı.
-
url
dize
-
-
-
filter
-
extraInfoSpec
OnCompletedOptions[] isteğe bağlı
onErrorOccurred
chrome.webRequest.onErrorOccurred.addListener(
callback: function,
filter: RequestFilter,
extraInfoSpec?: OnErrorOccurredOptions[],
)
Hata oluştuğunda tetiklenir.
Parametreler
-
geri çağırma
işlev
callback
parametresi şu şekilde görünür:(details: object) => void
-
ayrıntılar
nesne
-
documentId
dize
Chrome 106 ve sonraki sürümlerİsteği yapan dokümanın UUID'si. İstek bir karede gezinmeyse bu değer bulunmaz.
-
documentLifecycleChrome 106 ve sonraki sürümler
Belgenin bulunduğu yaşam döngüsü.
-
hata
dize
Hata açıklaması. Bu dizenin sürümler arasında geriye dönük uyumlu olacağı garanti edilmez. İçeriğini ayrıştırmamalı ve ona göre işlem yapmamalısınız.
-
frameId
sayı
0 değeri, isteğin ana çerçevede, pozitif değer ise isteğin gerçekleştiği alt çerçevenin kimliğini ifade eder. Bir (alt) çerçevenin dokümanı yüklendiyse (
type
,main_frame
veyasub_frame
ise)frameId
, dış çerçevenin kimliğini değil, bu çerçevenin kimliğini belirtir. Çerçeve kimlikleri bir sekme içinde benzersizdir. -
frameTypeChrome 106 ve sonraki sürümler
İsteğin gerçekleştiği çerçevenin türü.
-
fromCache
boolean
Bu yanıtın disk önbelleğinden getirilip getirilmediğini gösterir.
-
başlatan
string isteğe bağlı
Chrome 63 ve sonraki sürümlerİsteğin başlatıldığı kaynak. Bu durum yönlendirmeler üzerinden değişmez. Bu opak bir kaynaksa "null" dizesi kullanılır.
-
ip
string isteğe bağlı
İsteğin gerçekten gönderildiği sunucu IP adresi. Bunun tam bir IPv6 adresi olabileceğini unutmayın.
-
method
dize
Standart HTTP yöntemi.
-
parentDocumentId
string isteğe bağlı
Chrome 106 ve sonraki sürümlerBu çerçevenin sahibi olan üst dokümanın UUID'si. Üst öğe yoksa bu ayar yapılmaz.
-
parentFrameId
sayı
İsteği gönderen çerçeveyi sarmalayan çerçevenin kimliği. Üst çerçeve yoksa -1 olarak ayarlayın.
-
requestId
dize
İsteğin kimliği. İstek kimlikleri bir tarayıcı oturumunda benzersizdir. Sonuç olarak, aynı talepteki farklı etkinlikleri ilişkilendirmek için kullanılabilirler.
-
tabId
sayı
İsteğin gerçekleştiği sekmenin kimliği. İstek bir sekmeyle ilgili değilse -1 olarak ayarlayın.
-
timeStamp
sayı
Dönemden bu yana, milisaniye cinsinden bu sinyalin tetiklendiği süre.
-
tür
İstenen kaynağın nasıl kullanılacağı.
-
url
dize
-
-
-
filter
-
extraInfoSpec
OnErrorOccurredOptions[] isteğe bağlı
onHeadersReceived
chrome.webRequest.onHeadersReceived.addListener(
callback: function,
filter: RequestFilter,
extraInfoSpec?: OnHeadersReceivedOptions[],
)
Bir isteğin HTTP yanıt başlıkları alındığında tetiklenir.
Parametreler
-
geri çağırma
işlev
callback
parametresi şu şekilde görünür:(details: object) => BlockingResponse | undefined
-
ayrıntılar
nesne
-
documentId
dize
Chrome 106 ve sonraki sürümlerİsteği yapan dokümanın UUID'si.
-
documentLifecycleChrome 106 ve sonraki sürümler
Belgenin bulunduğu yaşam döngüsü.
-
frameId
sayı
0 değeri, isteğin ana çerçevede, pozitif değer ise isteğin gerçekleştiği alt çerçevenin kimliğini ifade eder. Bir (alt) çerçevenin dokümanı yüklendiyse (
type
,main_frame
veyasub_frame
ise)frameId
, dış çerçevenin kimliğini değil, bu çerçevenin kimliğini belirtir. Çerçeve kimlikleri bir sekme içinde benzersizdir. -
frameTypeChrome 106 ve sonraki sürümler
İsteğin gerçekleştiği çerçevenin türü.
-
başlatan
string isteğe bağlı
Chrome 63 ve sonraki sürümlerİsteğin başlatıldığı kaynak. Bu durum yönlendirmeler üzerinden değişmez. Bu opak bir kaynaksa "null" dizesi kullanılır.
-
method
dize
Standart HTTP yöntemi.
-
parentDocumentId
string isteğe bağlı
Chrome 106 ve sonraki sürümlerBu çerçevenin sahibi olan üst dokümanın UUID'si. Üst öğe yoksa bu ayar yapılmaz.
-
parentFrameId
sayı
İsteği gönderen çerçeveyi sarmalayan çerçevenin kimliği. Üst çerçeve yoksa -1 olarak ayarlayın.
-
requestId
dize
İsteğin kimliği. İstek kimlikleri bir tarayıcı oturumunda benzersizdir. Sonuç olarak, aynı talepteki farklı etkinlikleri ilişkilendirmek için kullanılabilirler.
-
responseHeaders
HttpHeaders isteğe bağlı
Bu yanıtla alınan HTTP yanıt üstbilgileri.
-
statusCode
sayı
Chrome 43 ve sonraki sürümlerSunucu tarafından döndürülen standart HTTP durum kodu.
-
statusLine
dize
Yanıtın HTTP durum satırı veya HTTP/0.9 yanıtları (ör. durum satırı olmayan yanıtlar) için "HTTP/0,9 200 OK" dizesi.
-
tabId
sayı
İsteğin gerçekleştiği sekmenin kimliği. İstek bir sekmeyle ilgili değilse -1 olarak ayarlayın.
-
timeStamp
sayı
Dönemden bu yana, milisaniye cinsinden bu sinyalin tetiklendiği süre.
-
tür
İstenen kaynağın nasıl kullanılacağı.
-
url
dize
-
-
returns
BlockingResponse | undefined
"extraInfoSpec" parametresinde "blocking" değeri belirtilirse etkinlik işleyicinin bu türde bir nesne döndürmesi gerekir.
-
-
filter
-
extraInfoSpec
OnHeadersReceivedOptions[] isteğe bağlı
onResponseStarted
chrome.webRequest.onResponseStarted.addListener(
callback: function,
filter: RequestFilter,
extraInfoSpec?: OnResponseStartedOptions[],
)
Yanıt gövdesinin ilk baytı alındığında tetiklenir. HTTP istekleri için bu, durum satırı ve yanıt üstbilgilerinin kullanılabileceği anlamına gelir.
Parametreler
-
geri çağırma
işlev
callback
parametresi şu şekilde görünür:(details: object) => void
-
ayrıntılar
nesne
-
documentId
dize
Chrome 106 ve sonraki sürümlerİsteği yapan dokümanın UUID'si.
-
documentLifecycleChrome 106 ve sonraki sürümler
Belgenin bulunduğu yaşam döngüsü.
-
frameId
sayı
0 değeri, isteğin ana çerçevede, pozitif değer ise isteğin gerçekleştiği alt çerçevenin kimliğini ifade eder. Bir (alt) çerçevenin dokümanı yüklendiyse (
type
,main_frame
veyasub_frame
ise)frameId
, dış çerçevenin kimliğini değil, bu çerçevenin kimliğini belirtir. Çerçeve kimlikleri bir sekme içinde benzersizdir. -
frameTypeChrome 106 ve sonraki sürümler
İsteğin gerçekleştiği çerçevenin türü.
-
fromCache
boolean
Bu yanıtın disk önbelleğinden getirilip getirilmediğini gösterir.
-
başlatan
string isteğe bağlı
Chrome 63 ve sonraki sürümlerİsteğin başlatıldığı kaynak. Bu durum yönlendirmeler üzerinden değişmez. Bu opak bir kaynaksa "null" dizesi kullanılır.
-
ip
string isteğe bağlı
İsteğin gerçekten gönderildiği sunucu IP adresi. Bunun tam bir IPv6 adresi olabileceğini unutmayın.
-
method
dize
Standart HTTP yöntemi.
-
parentDocumentId
string isteğe bağlı
Chrome 106 ve sonraki sürümlerBu çerçevenin sahibi olan üst dokümanın UUID'si. Üst öğe yoksa bu ayar yapılmaz.
-
parentFrameId
sayı
İsteği gönderen çerçeveyi sarmalayan çerçevenin kimliği. Üst çerçeve yoksa -1 olarak ayarlayın.
-
requestId
dize
İsteğin kimliği. İstek kimlikleri bir tarayıcı oturumunda benzersizdir. Sonuç olarak, aynı talepteki farklı etkinlikleri ilişkilendirmek için kullanılabilirler.
-
responseHeaders
HttpHeaders isteğe bağlı
Bu yanıtla birlikte alınan HTTP yanıt üstbilgileri.
-
statusCode
sayı
Sunucu tarafından döndürülen standart HTTP durum kodu.
-
statusLine
dize
Yanıtın HTTP durum satırı veya HTTP/0.9 yanıtları için "HTTP/0.9 200 OK" dizesi (ör. durum satırı olmayan yanıtlar) ya da başlık yoksa boş dize.
-
tabId
sayı
İsteğin gerçekleştiği sekmenin kimliği. İstek bir sekmeyle ilgili değilse -1 olarak ayarlayın.
-
timeStamp
sayı
Dönemden bu yana, milisaniye cinsinden bu sinyalin tetiklendiği süre.
-
tür
İstenen kaynağın nasıl kullanılacağı.
-
url
dize
-
-
-
filter
-
extraInfoSpec
OnResponseStartedOptions[] isteğe bağlı
onSendHeaders
chrome.webRequest.onSendHeaders.addListener(
callback: function,
filter: RequestFilter,
extraInfoSpec?: OnSendHeadersOptions[],
)
Sunucuya bir istek gönderilmeden hemen önce tetiklenir (önceki onBeforeSendHeaders geri çağırma işlevindeki değişiklikler onSendHeaders tetiklendiğinde görülebilir).
Parametreler
-
geri çağırma
işlev
callback
parametresi şu şekilde görünür:(details: object) => void
-
ayrıntılar
nesne
-
documentId
dize
Chrome 106 ve sonraki sürümlerİsteği yapan dokümanın UUID'si.
-
documentLifecycleChrome 106 ve sonraki sürümler
Belgenin bulunduğu yaşam döngüsü.
-
frameId
sayı
0 değeri, isteğin ana çerçevede, pozitif değer ise isteğin gerçekleştiği alt çerçevenin kimliğini ifade eder. Bir (alt) çerçevenin dokümanı yüklendiyse (
type
,main_frame
veyasub_frame
ise)frameId
, dış çerçevenin kimliğini değil, bu çerçevenin kimliğini belirtir. Çerçeve kimlikleri bir sekme içinde benzersizdir. -
frameTypeChrome 106 ve sonraki sürümler
İsteğin gerçekleştiği çerçevenin türü.
-
başlatan
string isteğe bağlı
Chrome 63 ve sonraki sürümlerİsteğin başlatıldığı kaynak. Bu durum yönlendirmeler üzerinden değişmez. Bu opak bir kaynaksa "null" dizesi kullanılır.
-
method
dize
Standart HTTP yöntemi.
-
parentDocumentId
string isteğe bağlı
Chrome 106 ve sonraki sürümlerBu çerçevenin sahibi olan üst dokümanın UUID'si. Üst öğe yoksa bu ayar yapılmaz.
-
parentFrameId
sayı
İsteği gönderen çerçeveyi sarmalayan çerçevenin kimliği. Üst çerçeve yoksa -1 olarak ayarlayın.
-
requestHeaders
HttpHeaders isteğe bağlı
Bu istekle gönderilen HTTP istek başlıkları.
-
requestId
dize
İsteğin kimliği. İstek kimlikleri bir tarayıcı oturumunda benzersizdir. Sonuç olarak, aynı talepteki farklı etkinlikleri ilişkilendirmek için kullanılabilirler.
-
tabId
sayı
İsteğin gerçekleştiği sekmenin kimliği. İstek bir sekmeyle ilgili değilse -1 olarak ayarlayın.
-
timeStamp
sayı
Dönemden bu yana, milisaniye cinsinden bu sinyalin tetiklendiği süre.
-
tür
İstenen kaynağın nasıl kullanılacağı.
-
url
dize
-
-
-
filter
-
extraInfoSpec
OnSendHeadersOptions[] isteğe bağlı