chrome.webRequest

refresh date: 2026-09-25 robots: noindex

Açıklama

Trafiği gözlemleyip analiz etmek ve aktarım halindeki istekleri yakalamak, engellemek veya değiştirmek için chrome.webRequest API'sini kullanın.

İzinler

webRequest

Manifest

Web isteği API'sini kullanmak için uzantı manifestinde "webRequest" iznini ve gerekli ana makine izinlerini beyan etmeniz gerekir. Bir alt kaynak isteğini yakalamak için uzantının hem istenen URL'ye hem de başlatıcısına erişimi olmalıdır. Ö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 eşzamansız olarak kimlik bilgileri sağlayabilirsiniz.

İsteklerin yaşam döngüsü

Web isteği API'si, bir web isteğinin yaşam döngüsünü izleyen bir dizi etkinlik tanımlar. Trafiği gözlemlemek ve analiz etmek için bu etkinlikleri kullanabilirsiniz. Belirli eşzamanlı etkinlikler, bir isteği engellemenize, durdurmanıza veya değiştirmenize olanak tanır.

Başarılı isteklerin etkinlik yaşam döngüsü aşağıda gösterilmiş ve ardından etkinlik tanımları verilmiştir:

WebRequest API açısından bir web isteğinin yaşam döngüsü

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 üstbilgiler hazırlandığında tetiklenir. Etkinlik, uzantıların istek başlıklarını (*) eklemesine, değiştirmesine ve silmesine olanak tanır. onBeforeSendHeaders etkinliği tüm abonelere iletilir. Bu nedenle, farklı aboneler isteği değiştirmeye çalışabilir. Bunun nasıl ele alındığını öğ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ı bulduktan sonra tetiklenir 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ı)
Bir HTTP(S) yanıt başlığı her alındığında tetiklenir. Yönlendirmeler ve kimlik doğrulama istekleri nedeniyle bu durum istek başına birden çok kez gerçekleşebilir. Bu etkinlik, uzantıların gelen Content-Type başlıkları gibi yanıt başlıklarını eklemesine, değiştirmesine ve silmesine olanak tanır. Önbelleğe alma yönergeleri bu etkinlik tetiklenmeden önce işlendiğinden Cache-Control gibi başlıkların değiştirilmesi tarayıcının önbelleğini etkilemez. Ayrıca isteği iptal etmenize veya yönlendirmenize olanak tanır.
onAuthRequired (isteğe bağlı olarak eşzamanlı)
Bir istek için kullanıcının kimlik doğrulaması gerektiğinde tetiklenir. Bu etkinlik, kimlik doğrulama bilgileri sağlamak için eşzamanlı olarak işlenebilir. Uzantıların geçersiz kimlik bilgileri sağlayabileceğini unutmayın. Geçersiz kimlik bilgilerini tekrar tekrar girerek sonsuz döngüye girmemeye dikkat edin. Bu yöntem, isteği iptal etmek için de kullanılabilir.
onBeforeRedirect
Yönlendirme yürütülmek üzereyken tetiklenir. Yönlendirme, bir 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 başlıklarının kullanılabilir olduğu anlamına gelir. Bu etkinlik bilgilendirme amaçlıdır ve eşzamansız olarak işlenir. İsteği değiştirmenize veya iptal etmenize izin vermez.
onCompleted
Bir istek başarıyla işlendiğinde tetiklenir.
onErrorOccurred
Bir istek başarıyla işlenemediğinde tetiklenir.

Web isteği API'si, her istek için son etkinlik olarak onCompleted veya onErrorOccurred etkinliğinin tetikleneceğini garanti eder. Bunun tek bir istisnası vardır: Bir istek data:// URL'sine yönlendirilirse bildirilen son etkinlik onBeforeRedirect 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 tek tek 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 nihai HTTP üstbilgilerini sağlamaz. Örneğin, önbelleğe alma ile ilgili tüm üstbilgiler uzantı tarafından görülemez.

Aşağıdaki başlıklar şu anda onBeforeSendHeaders etkinliğine sağlanmıyor. Bu listenin eksiksiz veya kararlı olduğu garanti edilmez.

  • Yetkilendirme
  • Önbellek-Denetimi
  • Bağlantı
  • Content-Length
  • Ana makine
  • If-Modified-Since
  • If-None-Match
  • If-Range
  • Kısmi Veriler
  • Pragma
  • Proxy-Authorization
  • Proxy-Connection
  • Transfer-Encoding

Chrome 79'dan itibaren istek başlığı değişiklikleri, merkezler arası kaynak paylaşımı (CORS) kontrollerini etkiler. Çapraz kaynak istekleri için değiştirilen başlıklar ölçütleri karşılamıyorsa sunucuya bu tür başlıkların kabul edilip edilemeyeceğ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. Öte yandan, yanıt başlığı değişiklikleri CORS kontrollerini yanıltmak için kullanılamaz. CORS protokolünü aldatmanız gerekiyorsa yanıt değişiklikleri için 'extraHeaders' değerini de belirtmeniz gerekir.

Chrome 79'dan itibaren webRequest API, varsayılan olarak CORS ön kontrol isteklerini ve yanıtlarını engellemez. İstek URL'si için CORS ön kontrolü, istek URL'si için opt_extraInfoSpec içinde 'extraHeaders' belirtilen bir dinleyici varsa uzantı tarafından görülebilir. onBeforeRequest, Chrome 79'dan itibaren 'extraHeaders' da alabilir.

Chrome 79'dan itibaren aşağıdaki istek başlığı sağlanmaz 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) yanıtı engellemeden önce 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ğlanmaz ve opt_extraInfoSpec içinde 'extraHeaders' belirtilmeden değiştirilemez veya kaldırılamaz:

  • Accept-Language
  • Accept-Encoding
  • Başvuran
  • Çerez

Chrome 72'den itibaren Set-Cookie yanıt başlığı sağlanmaz 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, yalnızca uzantının ana makine izinleri kapsamında 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 de gizlenir. Bunlar arasında, other_extension_id değerinin isteği işleyecek uzantının kimliği olmadığı chrome-extension://other_extension_id, https://www.google.com/chrome ve tarayıcı işlevselliği için temel olan diğer hassas istekler yer alır. Ayrıca, kilitlenmeleri önlemek için uzantınızdan gelen eşzamanlı XMLHttpRequests, etkinlik işleyicileri engellemekten gizlenir. Desteklenen şemaların bazılarında, ilgili protokolün yapısı nedeniyle kullanılabilir etkinlik grubunun sınırlı olabileceğini unutmayın. Örneğin, file: şeması için yalnızca onBeforeRequest, onResponseStarted, onCompleted ve onErrorOccurred gönderilebilir.

Chrome 58'den itibaren webRequest API, WebSocket el sıkışma isteğini yakalamayı destekler. El sıkışma işlemi bir HTTP yükseltme isteği aracılığıyla yapıldığından akışı, HTTP odaklı webRequest modeline uyar. API'nin şunları engellemediğini unutmayın:

  • Kurulu bir WebSocket bağlantısı üzerinden gönderilen bağımsız mesajlar.
  • WebSocket bağlantısı kapatılıyor.

WebSocket istekleri için yönlendirmeler desteklenmez.

Chrome 72'den itibaren, bir uzantı yalnızca hem istenen URL hem de isteği başlatan için ana makine izinlerine sahipse bir isteği kesebilir.

Chrome 96'dan itibaren webRequest API, HTTP/3 üzerinden WebTransport el sıkışma isteğini yakalamayı destekler. El sıkışma işlemi bir HTTP CONNECT isteği aracılığıyla yapıldığından akışı, HTTP odaklı webRequest modeline uyar. Unutmayın:

  • Oturum oluşturulduktan sonra uzantılar, webRequest API aracılığıyla oturumu gözlemleyemez veya oturuma müdahale edemez.
  • onBeforeSendHeaders içinde HTTP istek başlıklarını değiştirme işlemi yoksayılır.
  • HTTP/3 üzerinden WebTransport'ta yönlendirmeler ve kimlik doğrulamalar desteklenmez.

Kavramlar

Aşağıdaki bölümlerde açıklandığı gibi, web isteği API'sindeki etkinlikler istek kimliklerini kullanır ve etkinlik işleyicileri kaydederken isteğe bağlı olarak filtreler ve ek bilgiler belirtebilirsiniz.

İstek kimlikleri

Her istek, bir istek kimliğiyle tanımlanır. Bu kimlik, bir tarayıcı oturumu ve uzantı bağlamı içinde benzersizdir. Bir isteğin yaşam döngüsü boyunca sabit kalır ve aynı istekle ilgili etkinlikleri eşleştirmek için kullanılabilir. HTTP yönlendirmesi veya HTTP kimlik doğrulaması durumunda, birden fazla HTTP isteğinin tek bir web isteğiyle eşlendiğini unutmayın.

Etkinlik işleyicileri kaydetme

Bir web isteği için etkinlik işleyici kaydetmek üzere normal addListener() işlevinin bir varyasyonunu kullanırsınız. Geri çağırma işlevi belirtmenin yanı sıra bir filtre bağımsız değişkeni belirtmeniz gerekir. İsteğe bağlı olarak ek bilgi bağımsız değişkeni de belirtebilirsiniz.

Web isteği API'sinin addListener() için üç 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 örnek aşağıda verilmiştir:

chrome.webRequest.onBeforeRequest.addListener(
    callback, filter, opt_extraInfoSpec);

Her addListener() çağrısı, ilk parametre olarak zorunlu bir geri çağırma işlevi alır. Bu geri çağırma işlevine, geçerli URL isteğiyle ilgili bilgileri içeren bir sözlük iletilir. Bu sözlükteki bilgiler, belirli etkinlik türüne ve 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 dönene kadar isteğin engellendiği anlamına gelir. Bu durumda geri çağırma, isteğin yaşam döngüsünün devamı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), bir isteğin iptal edilmesine veya üstbilgilerin değiştirilmesine (onBeforeSendHeaders, onHeadersReceived) ve bir isteğin iptal edilmesine veya kimlik doğrulama bilgilerinin sağlanmasına (onAuthRequired) olanak tanır.

İsteğe bağlı opt_extraInfoSpec dizisi bunun yerine 'asyncBlocking' dizesini içeriyorsa (yalnızca onAuthRequired için izin verilir) uzantı, webRequest.BlockingResponse öğesini eşzamansız olarak oluşturabilir.

webRequest.RequestFilter filter, etkinliklerin tetiklendiği isteklerin çeşitli boyutlarda sınırlandırılması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ş çerçeve için yüklenen doküman) ve image (web sitesindeki resim) gibi istek türleri. webRequest.RequestFilter sayfasına bakın.
Sekme kimliği
Bir sekmenin tanımlayıcısı.
Pencere kimliği
Pencerenin tanımlayıcısı.

Etkinlik türüne bağlı olarak, istekle ilgili ek bilgi istemek için opt_extraInfoSpec içinde dize belirtebilirsiniz. Bu, yalnızca açıkça istendiğinde 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ıyı anlamak ö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. Yukarıdaki durum, web'den erişilemeyen kaynağın sahibi yönlendiren uzantı olsa bile geçerlidir. declarativeWebRequest API'leriyle kullanılacak kaynakları bildirmek için "web_accessible_resources" dizisi, burada açıklandığı şekilde manifest dosyasında bildirilmeli ve doldurulmalıdır.

Çatışma çözümü

Web isteği API'sinin mevcut uygulamasında, en az bir uzantı isteğin iptal edilmesini talimat verirse istek iptal edilmiş sayılır. Bir uzantı bir isteği iptal ederse tüm uzantılar bir onErrorOccurred etkinliğiyle bilgilendirilir. Aynı anda yalnızca bir uzantı bir isteği yönlendirebilir veya bir üstbilgiyi değiştirebilir. İsteği birden fazla uzantı değiştirmeye çalışırsa en son yüklenen uzantı geçerli olur ve diğerleri yok sayılır. Değiştirme veya yönlendirme talimatı yok sayılan uzantılara bildirim gönderilmez.

Önbelleğe alma

Chrome, disk önbelleği ve çok hızlı bir RAM önbelleği olmak üzere iki önbellek kullanır. Bellek içi RAM önbelleğinin ömrü, oluşturma işleminin ömrüne bağlıdır. Bu da kabaca bir sekmeye karşılık gelir. RAM önbelleğinden yanıtlanan istekler, web isteği API'si tarafından görülemez. Bir istek işleyici davranışını değiştirirse (örneğin, isteklerin engellenmesine göre davranış) basit bir sayfa yenileme bu değiştirilen davranışı dikkate almayabilir. Davranış değişikliğinin uygulanması için handlerBehaviorChanged() yöntemini çağırarak RAM önbelleğini temizleyin. Ancak bunu sık sık yapmayın. Önbelleği temizlemek çok maliyetli bir işlemdir. Bir etkinlik işleyiciyi kaydettikten veya kaydını iptal ettikten sonra handlerBehaviorChanged() yöntemini çağırmanız gerekmez.

Zaman damgaları

Web isteği etkinliklerinin timestamp özelliğinin yalnızca dahili olarak tutarlı olduğu garanti edilir. Bir etkinliği başka bir etkinlikle karşılaştırdığınızda aralarındaki doğru farkı elde edersiniz ancak bunları uzantıdaki geçerli zamanla karşılaştırdığınızda (ör. (new Date()).getTime() aracılığıyla) beklenmedik sonuçlar elde edebilirsiniz.

Hata işleme

Geçersiz bağımsız değişkenler içeren bir etkinliği kaydetmeye çalışırsanız JavaScript hatası oluşur ve etkinlik işleyici kaydedilmez. Bir etkinlik işlenirken hata oluşursa 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, ilgili istek için yoksayılır.

Örnekler

Aşağıdaki örnekte, www.evil.com için tüm isteklerin 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, engelleyici bir etkinlik işleyici kullandığından manifest dosyasında "webRequest" ve "webRequestBlocking" iznini gerektirir.

Aşağıdaki örnek, aynı hedefe daha verimli bir şekilde ulaşır çünkü www.evil.com için hedeflenmeyen isteklerin uzantıya iletilmesi gerekmez:

chrome.webRequest.onBeforeRequest.addListener(
  function(details) { return {cancel: true}; },
  {urls: ["*://www.evil.com/*"]},
  ["blocking"]
);

Aşağıdaki örnekte, User-Agent üstbilgisinin tüm isteklerden 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'sini denemek için chrome-extension-samples deposundan webRequest örneğini yükleyin.

Türler

BlockingResponse

"blocking" extraInfoSpec'in 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ı nesne

    Yalnızca onAuthRequired 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

  • iptal

    boole isteğe bağlı

    Doğru ise 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 istek, belirtilen URL'ye yönlendirilir. data: gibi HTTP olmayan şemalara yönlendirmelere izin verilir. Yönlendirme işlemi tarafından başlatılan yönlendirmeler, yönlendirme için orijinal istek yöntemini kullanır. Bunun bir istisnası vardır: Yönlendirme, onHeadersReceived aşamasında başlatılırsa yönlendirme, alma yöntemi kullanılarak yapılır. ws:// ve wss:// ş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, 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ışma sayısını sınırlamak için üstbilgileri gerçekten değiştirmek istiyorsanız responseHeaders döndürün (her istek için yalnızca bir uzantı responseHeaders değiştirebilir).

FormDataItem

Chrome 66+

Form verileri içinde iletilen verileri içerir. URL ile kodlanmış form için veriler UTF-8 dizesiyse dize olarak, aksi takdirde ArrayBuffer olarak depolanır. Form verileri için ArrayBuffer'dır. Form verileri, yüklenen dosyayı temsil ediyorsa dosya adı sağlanmışsa dosya adını içeren dizedir.

Enum

ArrayBuffer

dize

HttpHeaders

HTTP üstbilgileri dizisi. Her üstbilgi, name anahtarlarını ve value veya binaryValue anahtarlarını içeren bir sözlük olarak temsil edilir.

Tür

object[]

Özellikler

  • binaryValue

    number[] isteğe bağlı

    UTF-8 ile temsil edilemiyorsa HTTP üstbilgisinin değeri, ayrı bayt değerleri (0..255) olarak depolanır.

  • ad

    dize

    HTTP üstbilgisinin adı.

  • value

    string isteğe bağlı

    UTF-8 ile temsil edilebiliyorsa HTTP üstbilgisinin değeri.

IgnoredActionType

Chrome 70+

Enum

"redirect"

"request_headers"

"response_headers"

"auth_credentials"

OnAuthRequiredOptions

Chrome 44+

Enum

"responseHeaders"
Yanıt başlıklarının etkinliğe dahil edilmesi gerektiğini belirtir.

"blocking"
İsteğin, geri çağırma işlevi döndürülene kadar engellendiğini belirtir.

"asyncBlocking"
Geri çağırma işlevinin eşzamansız olarak işlendiğini belirtir.

"extraHeaders"
Başlıkların, Merkezler Arası Kaynak Paylaşımı'nı (CORS) ihlal edebileceğini belirtir.

OnBeforeRedirectOptions

Chrome 44+

Enum

"responseHeaders"
Yanıt başlıklarının etkinliğe dahil edilmesi gerektiğini belirtir.

"extraHeaders"
Başlıkların, Merkezler Arası Kaynak Paylaşımı'nı (CORS) ihlal edebileceğini belirtir.

OnBeforeRequestOptions

Chrome 44+

Enum

"blocking"
İsteğin, geri çağırma işlevi döndürülene kadar engellendiğini belirtir.

"requestBody"
İstek gövdesinin etkinliğe dahil edilmesi gerektiğini belirtir.

"extraHeaders"
Başlıkların, Merkezler Arası Kaynak Paylaşımı'nı (CORS) ihlal edebileceğini belirtir.

OnBeforeSendHeadersOptions

Chrome 44+

Enum

"requestHeaders"
İstek başlığının etkinliğe dahil edilmesi gerektiğini belirtir.

"blocking"
İsteğin, geri çağırma işlevi döndürülene kadar engellendiğini belirtir.

"extraHeaders"
Başlıkların, Merkezler Arası Kaynak Paylaşımı'nı (CORS) ihlal edebileceğini belirtir.

OnCompletedOptions

Chrome 44+

Enum

"responseHeaders"
Yanıt başlıklarının etkinliğe dahil edilmesi gerektiğini belirtir.

"extraHeaders"
Başlıkların, Merkezler Arası Kaynak Paylaşımı'nı (CORS) ihlal edebileceğini belirtir.

OnErrorOccurredOptions

Chrome 79 ve sonraki sürümler

Değer

"extraHeaders"

OnHeadersReceivedOptions

Chrome 44+

Enum

"blocking"
İsteğin, geri çağırma işlevi döndürülene kadar engellendiğini belirtir.

"responseHeaders"
Yanıt başlıklarının etkinliğe dahil edilmesi gerektiğini belirtir.

"extraHeaders"
Başlıkların, Merkezler Arası Kaynak Paylaşımı'nı (CORS) ihlal edebileceğini belirtir.

"securityInfo"
SecurityInfo'nun etkinliğe dahil edilmesi gerektiğini belirtir.

"securityInfoRawDer"
Sertifikaların ham baytlarını içeren SecurityInfo'nun etkinliğe dahil edilmesi gerektiğini belirtir.

OnResponseStartedOptions

Chrome 44+

Enum

"responseHeaders"
Yanıt başlıklarının etkinliğe dahil edilmesi gerektiğini belirtir.

"extraHeaders"
Başlıkların, Merkezler Arası Kaynak Paylaşımı'nı (CORS) ihlal edebileceğini belirtir.

OnSendHeadersOptions

Chrome 44+

Enum

"requestHeaders"
İstek başlığının etkinliğe dahil edilmesi gerektiğini belirtir.

"extraHeaders"
Başlıkların, Merkezler Arası Kaynak Paylaşımı'nı (CORS) ihlal edebileceğini belirtir.

RequestFilter

webRequest etkinliklerine uygulanacak filtreleri açıklayan bir nesne.

Özellikler

  • tabId

    number isteğe bağlı

  • türler

    ResourceType[] isteğe bağlı

    İstek türlerinin listesi. Türlerden herhangi biriyle eşleşmeyen istekler filtrelenir.

  • urller

    string[]

    URL'lerin veya URL kalıplarının listesi. URL'lerin hiçbiriyle eşleşemeyen istekler filtrelenir.

  • windowId

    number isteğe bağlı

ResourceType

Chrome 44+

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ğı bir medya nesnesi olarak belirtir.

"websocket"
Kaynağı WebSocket olarak belirtir.

"webbundle"
Kaynağı WebBundle olarak belirtir.

"other"
Kaynağı, listelenen türlere dahil olmayan bir tür olarak belirtir.

SecurityInfo

Chrome 144+

Özellikler

  • certificates

    object[]

    Sertifika listesi

    • parmak izi

      nesne

      Sertifikanın parmak izleri.

      • sha256

        dize

        Sertifikanın sha256 parmak izi.

    • rawDER

      ArrayBuffer isteğe bağlı

      DER kodlamalı sunucu sertifikasının ham baytları

  • durum

    dize

    Bağlantının durumu. Güvenli, güvenli değil, bozuk değerlerinden biri.

UploadData

Bir URL isteğinde yüklenen verileri içerir.

Özellikler

  • bayt

    isteğe bağlı

    Verilerin kopyasını içeren bir ArrayBuffer.

  • dosya

    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 yönteminin 10 dakikalık sürekli aralıklarla çağrılabileceği maksimum sayı. handlerBehaviorChanged, sık sık çağrılmaması gereken pahalı bir işlev çağrısıdır.

Değer

20

Yöntemler

handlerBehaviorChanged()

Taahhüt
chrome.webRequest.handlerBehaviorChanged(
  callback?: function,
)
: Promise<void>

Önbelleğe alma nedeniyle yanlış işlem yapılmasını önlemek için webRequest işleyicilerinin davranışı değiştiğinde çağrılması gerekir. Bu işlev çağrısı pahalıdır. Bu yöntemi sık sık çağırmayın.

Parametreler

  • callback

    function isteğe bağlı

    callback parametresi şu şekilde görünür:

    () => void

İadeler

  • Promise<void>

    Chrome 116+

    Promise'ler yalnızca Manifest V3 ve sonraki sürümlerde desteklenir. Diğer platformların geri çağırma işlevlerini kullanması gerekir.

Etkinlikler

onActionIgnored

Chrome 70+
chrome.webRequest.onActionIgnored.addListener(
  callback: function,
)

Bir uzantının ağ isteğinde önerdiği değişiklik yoksayıldığında tetiklenir. Bu durum, diğer uzantılarla çakışma olduğunda ortaya çıkar.

Parametreler

  • callback

    işlev

    callback parametresi şu şekilde görünür:

    (details: object) => void

    • ayrıntılar

      nesne

      • Yok sayılan önerilen işlem.

      • requestId

        dize

        İsteğin kimliği. İstek kimlikleri, tarayıcı oturumunda benzersizdir. Bu nedenle, aynı isteğin farklı etkinliklerini 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österebilir veya sorgulamayla ilgili herhangi bir işlem yapmayabilir. Hatalı kullanıcı kimlik bilgileri sağlanırsa bu yöntem aynı istek için birden fazla kez çağrılabilir. extraInfoSpec parametresinde 'blocking' veya 'asyncBlocking' modlarından yalnızca birinin belirtilmesi gerektiğini unutmayın.

Parametreler

  • callback

    işlev

    callback parametresi şu şekilde görünür:

    (details: object, asyncCallback?: function) => BlockingResponse | undefined

    • ayrıntılar

      nesne

      • challenger

        nesne

        Kimlik doğrulama isteyen sunucu.

        • düzenleyen

          dize

        • bağlantı noktası

          sayı

      • documentId

        string isteğe bağlı

        Chrome 106+

        İsteği gönderen dokümanın UUID'si.

      • Chrome 106+

        Belgenin içinde bulunduğu yaşam döngüsü.

      • frameId

        sayı

        0 değeri, isteğin ana çerçevede gerçekleştiğini gösterir. Pozitif bir değer, isteğin gerçekleştiği alt çerçevenin kimliğini gösterir. Bir (alt) çerçevenin dokümanı yüklüyse (type, main_frame veya sub_frame ise) frameId, dış çerçevenin kimliğini değil, bu çerçevenin kimliğini gösterir. Kare kimlikleri bir sekme içinde benzersizdir.

      • Chrome 106+

        İsteğin gerçekleştiği kare türü.

      • başlatan

        string isteğe bağlı

        Chrome 63+

        İsteğin başlatıldığı kaynak. Bu durum, yönlendirmelerle değişmez. Bu, opak bir kaynaksa "null" dizesi kullanılır.

      • isProxy

        boole

        Proxy-Authenticate için doğru, WWW-Authenticate için yanlış.

      • method

        dize

        Standart HTTP yöntemi.

      • parentDocumentId

        string isteğe bağlı

        Chrome 106+

        Bu çerçeveye sahip üst dokümanın UUID'si. Üst öğe yoksa bu ayarlanmaz.

      • parentFrameId

        sayı

        İsteği gönderen çerçeveyi sarmalayan çerçevenin kimliği. Üst çerçeve yoksa -1 olarak ayarlanır.

      • 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, tarayıcı oturumunda benzersizdir. Bu nedenle, aynı isteğin farklı etkinliklerini ilişkilendirmek için kullanılabilirler.

      • responseHeaders

        HttpHeaders isteğe bağlı

        Bu yanıtla birlikte alınan HTTP yanıt başlıkları.

      • şema

        dize

        Kimlik doğrulama düzeni (ör. Temel veya Özet).

      • statusCode

        sayı

        Chrome 43 ve sonraki sürümler

        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 (yani durum satırı olmayan yanıtlar) ya da başlık yoksa boş bir dize.

      • tabId

        sayı

        İsteğin gerçekleştiği sekmenin kimliği. İstek bir sekmeyle ilgili değilse -1 olarak ayarlanır.

      • timeStamp

        sayı

        Bu sinyalin tetiklendiği zaman (epoch'tan bu yana geçen milisaniye cinsinden).

      • İstenen kaynağın nasıl kullanılacağı.

      • url

        dize

    • asyncCallback

      function isteğe bağlı

      Chrome 58 ve sonraki sürümler

      asyncCallback parametresi şu şekilde görünür:

      (response: BlockingResponse) => void

    • returns

      BlockingResponse | undefined

      "extraInfoSpec" parametresinde "blocking" belirtilirse etkinlik işleyici bu türde bir nesne döndürmelidir.

  • filtre
  • 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

  • callback

    işlev

    callback parametresi şu şekilde görünür:

    (details: object) => void

    • ayrıntılar

      nesne

      • documentId

        string isteğe bağlı

        Chrome 106+

        İsteği gönderen dokümanın UUID'si.

      • Chrome 106+

        Belgenin içinde bulunduğu yaşam döngüsü.

      • frameId

        sayı

        0 değeri, isteğin ana çerçevede gerçekleştiğini gösterir. Pozitif bir değer, isteğin gerçekleştiği alt çerçevenin kimliğini gösterir. Bir (alt) çerçevenin dokümanı yüklüyse (type, main_frame veya sub_frame ise) frameId, dış çerçevenin kimliğini değil, bu çerçevenin kimliğini gösterir. Kare kimlikleri bir sekme içinde benzersizdir.

      • Chrome 106+

        İsteğin gerçekleştiği kare türü.

      • fromCache

        boole

        Bu yanıtın disk önbelleğinden alınıp alınmadığını gösterir.

      • başlatan

        string isteğe bağlı

        Chrome 63+

        İsteğin başlatıldığı kaynak. Bu durum, yönlendirmelerle değişmez. Bu, opak bir kaynaksa "null" dizesi kullanılır.

      • ip

        string isteğe bağlı

        İsteğin gönderildiği sunucu IP adresi. Bunun gerçek bir IPv6 adresi olabileceğini unutmayın.

      • method

        dize

        Standart HTTP yöntemi.

      • parentDocumentId

        string isteğe bağlı

        Chrome 106+

        Bu çerçeveye sahip üst dokümanın UUID'si. Üst öğe yoksa bu ayarlanmaz.

      • parentFrameId

        sayı

        İsteği gönderen çerçeveyi sarmalayan çerçevenin kimliği. Üst çerçeve yoksa -1 olarak ayarlanır.

      • redirectUrl

        dize

        Yeni URL.

      • requestId

        dize

        İsteğin kimliği. İstek kimlikleri, tarayıcı oturumunda benzersizdir. Bu nedenle, aynı isteğin farklı etkinliklerini ilişkilendirmek için kullanılabilirler.

      • responseHeaders

        HttpHeaders isteğe bağlı

        Bu yönlendirmeyle birlikte alınan HTTP yanıt başlıkları.

      • 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 (yani durum satırı olmayan yanıtlar) ya da başlık yoksa boş bir dize.

      • tabId

        sayı

        İsteğin gerçekleştiği sekmenin kimliği. İstek bir sekmeyle ilgili değilse -1 olarak ayarlanır.

      • timeStamp

        sayı

        Bu sinyalin tetiklendiği zaman (epoch'tan bu yana geçen milisaniye cinsinden).

      • İstenen kaynağın nasıl kullanılacağı.

      • url

        dize

  • filtre
  • 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

  • callback

    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+

        İsteği gönderen dokümanın UUID'si.

      • documentLifecycle
        Chrome 106+

        Belgenin içinde bulunduğu yaşam döngüsü.

      • frameId

        sayı

        0 değeri, isteğin ana çerçevede gerçekleştiğini gösterir. Pozitif bir değer, isteğin gerçekleştiği alt çerçevenin kimliğini gösterir. Bir (alt) çerçevenin dokümanı yüklüyse (type, main_frame veya sub_frame ise) frameId, dış çerçevenin kimliğini değil, bu çerçevenin kimliğini gösterir. Kare kimlikleri bir sekme içinde benzersizdir.

      • frameType

        extensionTypes.FrameType isteğe bağlı

        Chrome 106+

        İsteğin gerçekleştiği kare türü.

      • başlatan

        string isteğe bağlı

        Chrome 63+

        İsteğin başlatıldığı kaynak. Bu durum, yönlendirmelerle 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+

        Bu çerçeveye sahip üst dokümanın UUID'si. Üst öğe yoksa bu ayarlanmaz.

      • parentFrameId

        sayı

        İsteği gönderen çerçeveyi sarmalayan çerçevenin kimliği. Üst çerçeve yoksa -1 olarak ayarlanır.

      • requestBody

        isteğe bağlı nesne

        HTTP istek gövdesi verilerini içerir. Yalnızca extraInfoSpec, "requestBody" içeriyorsa sağlanır.

        • hata

          string isteğe bağlı

          İstek gövdesi verileri alınırken karşılaşılan hatalar

        • formData

          isteğe bağlı nesne

          İstek yöntemi POST ise ve gövde, UTF8'de kodlanmış, multipart/form-data veya application/x-www-form-urlencoded olarak kodlanmış bir anahtar/değer çifti dizisiyse bu sözlük mevcuttur ve her anahtar için o anahtarın tüm değerlerinin listesini içerir. Veriler başka bir medya türündeyse veya hatalı biçimlendirilmişse sözlük mevcut değildir. Bu sözlüğün örnek değeri {'key': ['value1', 'value2']} şeklindedir.

        • raw

          UploadData[] isteğe bağlı

          İstek yöntemi PUT veya POST ise ve gövde formData'da henüz ayrıştırılmamışsa ayrıştırılmamış istek gövdesi öğeleri bu dizide yer alır.

      • requestId

        dize

        İsteğin kimliği. İstek kimlikleri, tarayıcı oturumunda benzersizdir. Bu nedenle, aynı isteğin farklı etkinliklerini 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 ayarlanır.

      • timeStamp

        sayı

        Bu sinyalin tetiklendiği zaman (epoch'tan bu yana geçen milisaniye cinsinden).

      • İstenen kaynağın nasıl kullanılacağı.

      • url

        dize

    • returns

      BlockingResponse | undefined

      "extraInfoSpec" parametresinde "blocking" belirtilirse etkinlik işleyici bu türde bir nesne döndürmelidir.

  • filtre
  • extraInfoSpec

    OnBeforeRequestOptions[] isteğe bağlı

onBeforeSendHeaders

chrome.webRequest.onBeforeSendHeaders.addListener(
  callback: function,
  filter: RequestFilter,
  extraInfoSpec?: OnBeforeSendHeadersOptions[],
)

İstek başlıkları kullanılabilir olduğunda, HTTP isteği gönderilmeden önce tetiklenir. Bu durum, sunucuyla TCP bağlantısı kurulduktan sonra ancak HTTP verileri gönderilmeden önce gerçekleşebilir.

Parametreler

  • callback

    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+

        İsteği gönderen dokümanın UUID'si.

      • Chrome 106+

        Belgenin içinde bulunduğu yaşam döngüsü.

      • frameId

        sayı

        0 değeri, isteğin ana çerçevede gerçekleştiğini gösterir. Pozitif bir değer, isteğin gerçekleştiği alt çerçevenin kimliğini gösterir. Bir (alt) çerçevenin dokümanı yüklüyse (type, main_frame veya sub_frame ise) frameId, dış çerçevenin kimliğini değil, bu çerçevenin kimliğini gösterir. Kare kimlikleri bir sekme içinde benzersizdir.

      • Chrome 106+

        İsteğin gerçekleştiği kare türü.

      • başlatan

        string isteğe bağlı

        Chrome 63+

        İsteğin başlatıldığı kaynak. Bu durum, yönlendirmelerle 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+

        Bu çerçeveye sahip üst dokümanın UUID'si. Üst öğe yoksa bu ayarlanmaz.

      • parentFrameId

        sayı

        İsteği gönderen çerçeveyi sarmalayan çerçevenin kimliği. Üst çerçeve yoksa -1 olarak ayarlanır.

      • requestHeaders

        HttpHeaders isteğe bağlı

        Bu istekle birlikte gönderilecek HTTP istek başlıkları.

      • requestId

        dize

        İsteğin kimliği. İstek kimlikleri, tarayıcı oturumunda benzersizdir. Bu nedenle, aynı isteğin farklı etkinliklerini 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 ayarlanır.

      • timeStamp

        sayı

        Bu sinyalin tetiklendiği zaman (epoch'tan bu yana geçen milisaniye cinsinden).

      • İstenen kaynağın nasıl kullanılacağı.

      • url

        dize

    • returns

      BlockingResponse | undefined

      "extraInfoSpec" parametresinde "blocking" belirtilirse etkinlik işleyici bu türde bir nesne döndürmelidir.

  • filtre
  • extraInfoSpec

    OnBeforeSendHeadersOptions[] isteğe bağlı

onCompleted

chrome.webRequest.onCompleted.addListener(
  callback: function,
  filter: RequestFilter,
  extraInfoSpec?: OnCompletedOptions[],
)

Bir istek tamamlandığında tetiklenir.

Parametreler

  • callback

    işlev

    callback parametresi şu şekilde görünür:

    (details: object) => void

    • ayrıntılar

      nesne

      • documentId

        string isteğe bağlı

        Chrome 106+

        İsteği gönderen dokümanın UUID'si.

      • Chrome 106+

        Belgenin içinde bulunduğu yaşam döngüsü.

      • frameId

        sayı

        0 değeri, isteğin ana çerçevede gerçekleştiğini gösterir. Pozitif bir değer, isteğin gerçekleştiği alt çerçevenin kimliğini gösterir. Bir (alt) çerçevenin dokümanı yüklüyse (type, main_frame veya sub_frame ise) frameId, dış çerçevenin kimliğini değil, bu çerçevenin kimliğini gösterir. Kare kimlikleri bir sekme içinde benzersizdir.

      • Chrome 106+

        İsteğin gerçekleştiği kare türü.

      • fromCache

        boole

        Bu yanıtın disk önbelleğinden alınıp alınmadığını gösterir.

      • başlatan

        string isteğe bağlı

        Chrome 63+

        İsteğin başlatıldığı kaynak. Bu durum, yönlendirmelerle değişmez. Bu, opak bir kaynaksa "null" dizesi kullanılır.

      • ip

        string isteğe bağlı

        İsteğin gönderildiği sunucu IP adresi. Bunun gerçek bir IPv6 adresi olabileceğini unutmayın.

      • method

        dize

        Standart HTTP yöntemi.

      • parentDocumentId

        string isteğe bağlı

        Chrome 106+

        Bu çerçeveye sahip üst dokümanın UUID'si. Üst öğe yoksa bu ayarlanmaz.

      • parentFrameId

        sayı

        İsteği gönderen çerçeveyi sarmalayan çerçevenin kimliği. Üst çerçeve yoksa -1 olarak ayarlanır.

      • requestId

        dize

        İsteğin kimliği. İstek kimlikleri, tarayıcı oturumunda benzersizdir. Bu nedenle, aynı isteğin farklı etkinliklerini ilişkilendirmek için kullanılabilirler.

      • responseHeaders

        HttpHeaders isteğe bağlı

        Bu yanıtla birlikte alınan HTTP yanıt başlıkları.

      • 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 (yani durum satırı olmayan yanıtlar) ya da başlık yoksa boş bir dize.

      • tabId

        sayı

        İsteğin gerçekleştiği sekmenin kimliği. İstek bir sekmeyle ilgili değilse -1 olarak ayarlanır.

      • timeStamp

        sayı

        Bu sinyalin tetiklendiği zaman (epoch'tan bu yana geçen milisaniye cinsinden).

      • İstenen kaynağın nasıl kullanılacağı.

      • url

        dize

  • filtre
  • extraInfoSpec

    OnCompletedOptions[] isteğe bağlı

onErrorOccurred

chrome.webRequest.onErrorOccurred.addListener(
  callback: function,
  filter: RequestFilter,
  extraInfoSpec?: OnErrorOccurredOptions[],
)

Bir hata oluştuğunda tetiklenir.

Parametreler

  • callback

    işlev

    callback parametresi şu şekilde görünür:

    (details: object) => void

    • ayrıntılar

      nesne

      • documentId

        string isteğe bağlı

        Chrome 106+

        İsteği gönderen dokümanın UUID'si. İstek bir çerçeve gezinmesiyse bu değer mevcut değildir.

      • Chrome 106+

        Belgenin içinde bulunduğu yaşam döngüsü.

      • hata

        dize

        Hata açıklaması. Bu dize, sürümler arasında geriye dönük uyumluluğu garanti etmez. İçeriği ayrıştırmamalı ve içeriğe göre işlem yapmamalısınız.

      • frameId

        sayı

        0 değeri, isteğin ana çerçevede gerçekleştiğini gösterir. Pozitif bir değer, isteğin gerçekleştiği alt çerçevenin kimliğini gösterir. Bir (alt) çerçevenin dokümanı yüklüyse (type, main_frame veya sub_frame ise) frameId, dış çerçevenin kimliğini değil, bu çerçevenin kimliğini gösterir. Kare kimlikleri bir sekme içinde benzersizdir.

      • Chrome 106+

        İsteğin gerçekleştiği kare türü.

      • fromCache

        boole

        Bu yanıtın disk önbelleğinden alınıp alınmadığını gösterir.

      • başlatan

        string isteğe bağlı

        Chrome 63+

        İsteğin başlatıldığı kaynak. Bu durum, yönlendirmelerle değişmez. Bu, opak bir kaynaksa "null" dizesi kullanılır.

      • ip

        string isteğe bağlı

        İsteğin gönderildiği sunucu IP adresi. Bunun gerçek bir IPv6 adresi olabileceğini unutmayın.

      • method

        dize

        Standart HTTP yöntemi.

      • parentDocumentId

        string isteğe bağlı

        Chrome 106+

        Bu çerçeveye sahip üst dokümanın UUID'si. Üst öğe yoksa bu ayarlanmaz.

      • parentFrameId

        sayı

        İsteği gönderen çerçeveyi sarmalayan çerçevenin kimliği. Üst çerçeve yoksa -1 olarak ayarlanır.

      • requestId

        dize

        İsteğin kimliği. İstek kimlikleri, tarayıcı oturumunda benzersizdir. Bu nedenle, aynı isteğin farklı etkinliklerini 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 ayarlanır.

      • timeStamp

        sayı

        Bu sinyalin tetiklendiği zaman (epoch'tan bu yana geçen milisaniye cinsinden).

      • İstenen kaynağın nasıl kullanılacağı.

      • url

        dize

  • filtre
  • 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

  • callback

    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+

        İsteği gönderen dokümanın UUID'si.

      • Chrome 106+

        Belgenin içinde bulunduğu yaşam döngüsü.

      • frameId

        sayı

        0 değeri, isteğin ana çerçevede gerçekleştiğini gösterir. Pozitif bir değer, isteğin gerçekleştiği alt çerçevenin kimliğini gösterir. Bir (alt) çerçevenin dokümanı yüklüyse (type, main_frame veya sub_frame ise) frameId, dış çerçevenin kimliğini değil, bu çerçevenin kimliğini gösterir. Kare kimlikleri bir sekme içinde benzersizdir.

      • Chrome 106+

        İsteğin gerçekleştiği kare türü.

      • başlatan

        string isteğe bağlı

        Chrome 63+

        İsteğin başlatıldığı kaynak. Bu durum, yönlendirmelerle 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+

        Bu çerçeveye sahip üst dokümanın UUID'si. Üst öğe yoksa bu ayarlanmaz.

      • parentFrameId

        sayı

        İsteği gönderen çerçeveyi sarmalayan çerçevenin kimliği. Üst çerçeve yoksa -1 olarak ayarlanır.

      • requestId

        dize

        İsteğin kimliği. İstek kimlikleri, tarayıcı oturumunda benzersizdir. Bu nedenle, aynı isteğin farklı etkinliklerini ilişkilendirmek için kullanılabilirler.

      • responseHeaders

        HttpHeaders isteğe bağlı

        Bu yanıtla birlikte alınan HTTP yanıt başlıkları.

      • securityInfo

        SecurityInfo isteğe bağlı

        Chrome 144+

        Temel bağlantı için kullanılan TLS/QUIC bağlantısı hakkında bilgi. Yalnızca extraInfoSpec parametresinde securityInfo belirtilmişse sağlanır.

      • statusCode

        sayı

        Chrome 43 ve sonraki sürümler

        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 (yani durum satırı olmayan yanıtlar).

      • tabId

        sayı

        İsteğin gerçekleştiği sekmenin kimliği. İstek bir sekmeyle ilgili değilse -1 olarak ayarlanır.

      • timeStamp

        sayı

        Bu sinyalin tetiklendiği zaman (epoch'tan bu yana geçen milisaniye cinsinden).

      • İstenen kaynağın nasıl kullanılacağı.

      • url

        dize

    • returns

      BlockingResponse | undefined

      "extraInfoSpec" parametresinde "blocking" belirtilirse etkinlik işleyici bu türde bir nesne döndürmelidir.

  • filtre
  • 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ının ve yanıt başlıklarının kullanılabilir olduğu anlamına gelir.

Parametreler

  • callback

    işlev

    callback parametresi şu şekilde görünür:

    (details: object) => void

    • ayrıntılar

      nesne

      • documentId

        string isteğe bağlı

        Chrome 106+

        İsteği gönderen dokümanın UUID'si.

      • Chrome 106+

        Belgenin içinde bulunduğu yaşam döngüsü.

      • frameId

        sayı

        0 değeri, isteğin ana çerçevede gerçekleştiğini gösterir. Pozitif bir değer, isteğin gerçekleştiği alt çerçevenin kimliğini gösterir. Bir (alt) çerçevenin dokümanı yüklüyse (type, main_frame veya sub_frame ise) frameId, dış çerçevenin kimliğini değil, bu çerçevenin kimliğini gösterir. Kare kimlikleri bir sekme içinde benzersizdir.

      • Chrome 106+

        İsteğin gerçekleştiği kare türü.

      • fromCache

        boole

        Bu yanıtın disk önbelleğinden alınıp alınmadığını gösterir.

      • başlatan

        string isteğe bağlı

        Chrome 63+

        İsteğin başlatıldığı kaynak. Bu durum, yönlendirmelerle değişmez. Bu, opak bir kaynaksa "null" dizesi kullanılır.

      • ip

        string isteğe bağlı

        İsteğin gönderildiği sunucu IP adresi. Bunun gerçek bir IPv6 adresi olabileceğini unutmayın.

      • method

        dize

        Standart HTTP yöntemi.

      • parentDocumentId

        string isteğe bağlı

        Chrome 106+

        Bu çerçeveye sahip üst dokümanın UUID'si. Üst öğe yoksa bu ayarlanmaz.

      • parentFrameId

        sayı

        İsteği gönderen çerçeveyi sarmalayan çerçevenin kimliği. Üst çerçeve yoksa -1 olarak ayarlanır.

      • requestId

        dize

        İsteğin kimliği. İstek kimlikleri, tarayıcı oturumunda benzersizdir. Bu nedenle, aynı isteğin farklı etkinliklerini ilişkilendirmek için kullanılabilirler.

      • responseHeaders

        HttpHeaders isteğe bağlı

        Bu yanıtla birlikte alınan HTTP yanıt başlıkları.

      • 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 (yani durum satırı olmayan yanıtlar) ya da başlık yoksa boş bir dize.

      • tabId

        sayı

        İsteğin gerçekleştiği sekmenin kimliği. İstek bir sekmeyle ilgili değilse -1 olarak ayarlanır.

      • timeStamp

        sayı

        Bu sinyalin tetiklendiği zaman (epoch'tan bu yana geçen milisaniye cinsinden).

      • İstenen kaynağın nasıl kullanılacağı.

      • url

        dize

  • filtre
  • extraInfoSpec

    OnResponseStartedOptions[] isteğe bağlı

onSendHeaders

chrome.webRequest.onSendHeaders.addListener(
  callback: function,
  filter: RequestFilter,
  extraInfoSpec?: OnSendHeadersOptions[],
)

İstek sunucuya gönderilmeden hemen önce tetiklenir (önceki onBeforeSendHeaders geri çağırmalarında yapılan değişiklikler onSendHeaders tetiklendiğinde görünür).

Parametreler

  • callback

    işlev

    callback parametresi şu şekilde görünür:

    (details: object) => void

    • ayrıntılar

      nesne

      • documentId

        string isteğe bağlı

        Chrome 106+

        İsteği gönderen dokümanın UUID'si.

      • Chrome 106+

        Belgenin içinde bulunduğu yaşam döngüsü.

      • frameId

        sayı

        0 değeri, isteğin ana çerçevede gerçekleştiğini gösterir. Pozitif bir değer, isteğin gerçekleştiği alt çerçevenin kimliğini gösterir. Bir (alt) çerçevenin dokümanı yüklüyse (type, main_frame veya sub_frame ise) frameId, dış çerçevenin kimliğini değil, bu çerçevenin kimliğini gösterir. Kare kimlikleri bir sekme içinde benzersizdir.

      • Chrome 106+

        İsteğin gerçekleştiği kare türü.

      • başlatan

        string isteğe bağlı

        Chrome 63+

        İsteğin başlatıldığı kaynak. Bu durum, yönlendirmelerle 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+

        Bu çerçeveye sahip üst dokümanın UUID'si. Üst öğe yoksa bu ayarlanmaz.

      • parentFrameId

        sayı

        İsteği gönderen çerçeveyi sarmalayan çerçevenin kimliği. Üst çerçeve yoksa -1 olarak ayarlanır.

      • requestHeaders

        HttpHeaders isteğe bağlı

        Bu istekle birlikte gönderilen HTTP istek başlıkları.

      • requestId

        dize

        İsteğin kimliği. İstek kimlikleri, tarayıcı oturumunda benzersizdir. Bu nedenle, aynı isteğin farklı etkinliklerini 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 ayarlanır.

      • timeStamp

        sayı

        Bu sinyalin tetiklendiği zaman (epoch'tan bu yana geçen milisaniye cinsinden).

      • İstenen kaynağın nasıl kullanılacağı.

      • url

        dize

  • filtre
  • extraInfoSpec

    OnSendHeadersOptions[] isteğe bağlı