chrome.webRequest

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

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/*"
  ],
  ...
}

webRequestBlocking

Engelleme etkinliği işleyicilerini kaydetmek için gereklidir. Manifest V3'ten itibaren bu özellik yalnızca politika tarafından yüklenen uzantılarda kullanılabilir.

webRequestAuthProvider

onAuthRequired yönteminin kullanılması için gereklidir. Kimlik doğrulamasını işleme bölümüne bakın.

Kavramlar ve kullanım

İ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:

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 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.

İ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) ve image (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.

Kimlik doğrulamayı işleme

HTTP kimlik doğrulaması isteklerini işlemek için "webRequestAuthProvider" iznini manifest dosyanıza ekleyin:

{
  "permissions": [
    "webRequest",
    "webRequestAuthProvider"
  ]
}

Bu iznin, "webRequestBlocking" iznine sahip politika tarafından yüklenen bir uzantı için gerekli olmadığını unutmayın.

Kimlik bilgilerini eşzamanlı olarak sağlamak için:

chrome.webRequest.onAuthRequired.addListener((details) => {
    return {
      authCredentials: {
        username: 'guest',
        password: 'guest'
      }
    };
  },
  { urls: ['https://httpbin.org/basic-auth/guest/guest'] },
  ['blocking']
);

Kimlik bilgilerini eşzamansız olarak sağlamak için:

chrome.webRequest.onAuthRequired.addListener((details, callback) => {
    callback({
      authCredentials: {
        username: 'guest',
        password: 'guest'
      }
    });
  },
  { urls: ['https://httpbin.org/basic-auth/guest/guest'] },
  ['asyncBlocking']
);

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:// 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, 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

Chrome 66 ve sonraki sürümler

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

Chrome 70 ve sonraki sürümler

Enum

"redirect" (yönlendirme)

"request_headers"

"response_headers"

"auth_credentials"

OnAuthRequiredOptions

Chrome 44 ve sonraki sürümler

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

Chrome 44 ve sonraki sürümler

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

Chrome 44 ve sonraki sürümler

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

Chrome 44 ve sonraki sürümler

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

Chrome 44 ve sonraki sürümler

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

Chrome 79 ve sonraki sürümler

Değer

"extraHeaders"

OnHeadersReceivedOptions

Chrome 44 ve sonraki sürümler

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

Chrome 44 ve sonraki sürümler

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

Chrome 44 ve sonraki sürümler

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

Chrome 44 ve sonraki sürümler

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()

Söz
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ümler

    Vaatler, Manifest V3 ve sonraki sürümlerde desteklenir ancak geriye dönük uyumluluk için geri çağırmalar sağlanır. Aynı işlev çağrısında ikisini birden kullanamazsınız. Vaat, geri çağırmaya iletilen aynı türle çözümlenir.

Etkinlikler

onActionIgnored

Chrome 70 ve sonraki sürümler
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

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

      • Chrome 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 veya sub_frame ise) frameId, dış çerçevenin kimliğini değil, bu çerçevenin kimliğini belirtir. Çerçeve kimlikleri bir sekme içinde benzersizdir.

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

      • 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ümler

        Bu ç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ü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 (ö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.

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

      • url

        dize

    • asyncCallback

      Functions (isteğe bağlı)

      Chrome 58 ve sonraki sürümler

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

      (response: BlockingResponse)=>void

    • returns

      "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.

      • Chrome 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 veya sub_frame ise) frameId, dış çerçevenin kimliğini değil, bu çerçevenin kimliğini belirtir. Çerçeve kimlikleri bir sekme içinde benzersizdir.

      • Chrome 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ümler

        Bu ç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.

      • İ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
        Chrome 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 veya sub_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ümler

        Bu ç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.

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

      • url

        dize

    • returns

      "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.

      • Chrome 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 veya sub_frame ise) frameId, dış çerçevenin kimliğini değil, bu çerçevenin kimliğini belirtir. Çerçeve kimlikleri bir sekme içinde benzersizdir.

      • 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ümler

        Bu ç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.

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

      • url

        dize

    • returns

      "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.

      • Chrome 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 veya sub_frame ise) frameId, dış çerçevenin kimliğini değil, bu çerçevenin kimliğini belirtir. Çerçeve kimlikleri bir sekme içinde benzersizdir.

      • Chrome 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ümler

        Bu ç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.

      • İ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.

      • Chrome 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 veya sub_frame ise) frameId, dış çerçevenin kimliğini değil, bu çerçevenin kimliğini belirtir. Çerçeve kimlikleri bir sekme içinde benzersizdir.

      • Chrome 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ümler

        Bu ç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.

      • İ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.

      • Chrome 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 veya sub_frame ise) frameId, dış çerçevenin kimliğini değil, bu çerçevenin kimliğini belirtir. Çerçeve kimlikleri bir sekme içinde benzersizdir.

      • 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ümler

        Bu ç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ü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ı (ö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.

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

      • url

        dize

    • returns

      "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.

      • Chrome 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 veya sub_frame ise) frameId, dış çerçevenin kimliğini değil, bu çerçevenin kimliğini belirtir. Çerçeve kimlikleri bir sekme içinde benzersizdir.

      • Chrome 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ümler

        Bu ç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.

      • İ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.

      • Chrome 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 veya sub_frame ise) frameId, dış çerçevenin kimliğini değil, bu çerçevenin kimliğini belirtir. Çerçeve kimlikleri bir sekme içinde benzersizdir.

      • 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ümler

        Bu ç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.

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

      • url

        dize

  • filter
  • extraInfoSpec

    OnSendHeadersOptions[] isteğe bağlı