chrome.webRequest

Açıklama

Trafiği gözlemleyip analiz etmek, yayındaki isteklere müdahale etmek, bunları engellemek veya değiştirmek için chrome.webRequest API'yi kullanın.

İzinler

webRequest

Web isteğini kullanmak için uzantı manifestinde "webRequest" iznini beyan etmeniz gerekir API ve gerekli ana makine izinleri. Bir alt kaynak isteğine müdahale etmek için uzantısının hem istenen URL'ye hem de başlatıcıya erişimi olmalıdır. Örneğin:

{
  "name": "My extension",
  ...
  "permissions": [
    "webRequest"
  ],
  "host_permissions": [
    "*://*.google.com/*"
  ],
  ...
}

webRequestBlocking

Engelleme etkinlik işleyicilerini kaydetmek için gereklidir. Manifest V3 itibarıyla bu yalnızca politika tarafından yüklenen uzantılar tarafından kullanılabilir.

webRequestAuthProvider

onAuthRequired yöntemini kullanmak için gereklidir. Görüntüleyin Kimlik doğrulamasını işleme.

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 dizi etkinliği tanımlar. Tekliflerinizi otomatikleştirmek ve optimize etmek için bu etkinlikleri izleyerek trafiği gözlemleyebilir ve analiz edebilirsiniz. Bazı eşzamanlı etkinlikler müdahale etmenize, veya istek üzerinde değişiklik yapabilirsiniz.

Başarılı isteklerin etkinlik yaşam döngüsü burada gösterilmiştir ve ardından etkinlik tanımları gelir:

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 veya yönlendirme URL'leri kullanılmalıdır.
onBeforeSendHeaders (isteğe bağlı olarak eşzamanlı)
Bir istek gerçekleşmek üzereyken ve ilk başlıklar hazırlandığında tetiklenir. Etkinlik ve uzantıların istek başlıkları (*) eklemesine, değiştirmesine ve silmesine izin vermek amaçlanır. İlgili içeriği oluşturmak için kullanılan onBeforeSendHeaders etkinliği tüm abonelere iletildiğinden farklı aboneler isteği değiştirme; Bunun nasıl işlendiği hakkında bilgi edinmek için Uygulama ayrıntıları bölümüne bakın. Bu etkinlik 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ü. Etkinlik, başlıklar ağa gönderilmeden önce tetiklenir. Bu etkinlik eşzamansız olarak işlenir. İsteğin değiştirilmesine veya iptal edilmesine izin verilmez.
onHeadersReceived (isteğe bağlı olarak eşzamanlı)
HTTP(S) yanıt başlığı her alındığında tetiklenir. Yönlendirmeler ve kimlik doğrulama nedeniyle Bu işlem, istek başına birden çok kez gerçekleşebilir. Bu etkinlik, uzantıların şu işlemleri yapmasına izin vermek için tasarlanmıştır: gelen Content-Type üstbilgileri gibi yanıt üstbilgilerini ekleyebilir, değiştirebilir ve silebilirsiniz. Önbelleğe alma yönergeler bu etkinlik tetiklenmeden önce işlendiğinden, Cache-Control gibi başlıkların değiştirilmesi tarayıcının önbelleği üzerinde herhangi bir etkisi yoktur. 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 şunlar için eşzamanlı olarak işlenebilir: kimlik doğrulama bilgileri sağlama. Uzantıların geçersiz kimlik bilgileri sağlayabileceğini unutmayın. Saygılarımızla, sürekli geçersiz kimlik bilgileri sağlayarak sonsuz döngüye girmemelidir. Bu, şunlar için de kullanılabilir: isteği iptal edebilir.
onBeforeRedirect
Yönlendirme yürütülmek üzereyken tetiklenir. Yönlendirme, HTTP yanıtı tarafından tetiklenebilir veya uzantı ile değiştirebilirsiniz. Bu etkinlik bilgilendirme amaçlıdır ve eşzamansız olarak işlenir. İzin verilmez isteği değiştirmeniz veya iptal etmeniz gerekir.
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ı kullanılabilir. Bu etkinlik bilgilendirme amaçlıdır ve işlenir eşzamansız olarak ayarlayabilirsiniz. İsteğin değiştirilmesine veya iptal edilmesine izin verilmez.
onCompleted
İstek başarıyla işlendiğinde tetiklenir.
onErrorOccurred
Bir istek başarıyla işlenemediğinde tetiklenir.

Web isteği API'si, her bir istek için onCompleted veya onErrorOccurred öğesinin bir istisna dışında son etkinlik olarak tetiklenir: İstek bir data:// URL'sine yönlendirilirse Bildirilen son etkinlik onBeforeRedirect.

* 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 ayrılabilir (örneğin, veya bayt aralıklarından büyük bir dosyadan itibaren kullanılabilir) veya ağ yığını tarafından ağ. Bu nedenle API, ağ. Örneğin, önbelleğe almayla ilgili tüm üst bilgiler uzantı tarafından görünmez.

Aşağıdaki üstbilgiler şu anda onBeforeSendHeaders etkinliği için sağlanmamaktadır. Bu liste eksiksiz veya istikrarlı olacağı garanti edilmez.

  • Yetkilendirme
  • Önbellek-Denetimi
  • Bağlantı
  • İçerik-Uzunluk
  • Ana makine
  • Değiştirilmiş-Sonradan
  • Eşleşmezse-Hiçbiri
  • Eğer-Aralık
  • Kısmi Veri
  • Pragma
  • Proxy Yetkilendirmesi
  • Proxy Bağlantısı
  • Transfer-Encoding

Chrome 79'dan itibaren, istek başlığında yapılan değişiklikler Kaynaklar Arası Kaynak Paylaşımı'nı (CORS) etkiler. kontrol eder. Kaynaklar arası isteklerin değiştirilmiş başlıkları ölçütleri karşılamazsa Sunucuya bu tür başlıkların kabul edilip edilmeyeceğini sormak için bir CORS ön uçuşu göndererek. Proje yöneticisi olarak başlıkları CORS protokolünü ihlal edecek şekilde değiştirirseniz 'extraHeaders' öğesini opt_extraInfoSpec. Öte yandan, yanıt başlığı değişiklikleri CORS'yi aldatmak için işe yaramaz kontrol eder. CORS protokolünü aldatmanız gerekirse aynı zamanda CORS protokolü için 'extraHeaders' yanıt değişikliklerinden bahsetmek istiyorum.

Chrome 79'dan itibaren webRequest API, CORS ön kontrol isteklerine müdahale etmez ve varsayılan olarak yanıtlanır. Bir uzantı, istek URL'si için opt_extraInfoSpec içinde belirtilen 'extraHeaders' işlevine sahip işleyici. onBeforeRequest ayrıca Chrome 79'dan 'extraHeaders' alabilir.

Chrome 79'dan itibaren aşağıdaki istek başlığı sağlanmaz ve değiştirilemez veya opt_extraInfoSpec içinde 'extraHeaders' belirtilmeden kaldırıldı:

  • Köken
ziyaret edin.

Chrome 72'den itibaren, yanıtları Cross Origin Read Engelleme'den önce değiştirmeniz gerekiyorsa (CORB) yanıtı engelleyebilir. opt_extraInfoSpec içinde 'extraHeaders' değerini belirtmeniz gerekir.

Chrome 72 sürümünden itibaren aşağıdaki istek başlıkları sağlanmaz ve değiştirilemez veya opt_extraInfoSpec içinde 'extraHeaders' belirtilmeden kaldırıldı:

  • Kabul-Dili
  • Accept-Encoding
  • Başvuran
  • Çerez

Chrome 72'den itibaren Set-Cookie yanıt başlığı sağlanmaz ve değiştirilemez veya opt_extraInfoSpec içinde 'extraHeaders' belirtilmeden kaldırıldı.

Chrome 89'dan itibaren X-Frame-Options yanıt başlığı etkili şekilde değiştirilemez veya opt_extraInfoSpec içinde 'extraHeaders' belirtilmeden kaldırıldı.

webRequest API'si, ana makinesine bağlı olarak yalnızca uzantının görme izni olan istekleri gösterir. izinleriyle ilgili daha fazla bilgi edinin. 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 gizlidir. Bunlara, other_extension_id öğesinin olmadığı chrome-extension://other_extension_id dahildir isteği, https://www.google.com/chrome ve diğer hassas öğeleri işleyecek uzantının kimliği Tarayıcı işlevselliğinin temeli için istekleri kullanır. Uzantınızdaki eşzamanlı XMLHttpRequest'ler de kilitlenmelerini önlemek için etkinlik işleyicileri engellememesi gerekir. Bazı desteklenen şemaların yapısı nedeniyle kullanılabilir etkinlikler iletişim protokolüdür. Örneğin, yalnızca onBeforeRequest dosyası için onResponseStarted, onCompleted ve onErrorOccurred gönderilebilir.

Chrome 58'den itibaren webRequest API, 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ığı için akışı HTTP odaklı webRequest modeli. API'nin müdahale etmediğini unutmayın:

  • Oluşturulan bir WebSocket bağlantısı üzerinden gönderilen ayrı iletiler.
  • WebSocket kapatılıyor.

Yönlendirmeler, WebSocket istekleri için desteklenmez.

Chrome 72'den itibaren bir uzantı yalnızca ana makineye sahipse isteğe müdahale edebilecek hem istenen URL hem de isteği başlatan için izinler.

Chrome 96'dan itibaren webRequest API, HTTP/3 üzerinden WebTransport'a müdahale etmeyi desteklemektedir el sıkışma isteği. El sıkışma işlemi HTTP CONNECT isteği aracılığıyla yapıldığı için akışı uygundur. webRequest modelini kullanır. Not:

  • Oturum oluşturulduktan sonra uzantılar, webRequest API'si aracılığıyla başka bir uygulama isteği gönderin.
  • onBeforeSendHeaders ürününde HTTP istek üstbilgilerinin değiştirilmesi yoksayılır.
  • Yönlendirmeler ve kimlik doğrulamalar, HTTP/3 üzerinden WebTransport'ta desteklenmez.

İstek kimlikleri

Her istek, bir istek kimliğiyle tanımlanır. Bu kimlik, bir tarayıcı oturumunda benzersizdir ve bir açıklama ekleyin. Bir isteğin yaşam döngüsü boyunca sabit kalır ve kullanılabilir. aynı istek için etkinlikleri eşleştirmenizi sağlar. Birkaç HTTP isteğinin tek bir web isteğiyle eşlendiğini unutmayın (HTTP yönlendirmesi veya HTTP kimlik doğrulaması durumunda)

Etkinlik işleyicileri kaydetme

Bir web isteği için etkinlik işleyici kaydetmek üzere her zamanki addListener() işlevini kullanın. Bir geri çağırma işlevi belirtmeye ek olarak, 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'sindeki addListener() bağımsız değişkeni aşağıdaki tanımlara sahiptir:

var callback = function(details) {...};
var filter = {...};
var opt_extraInfoSpec = [...];

Aşağıda, onBeforeRequest etkinliğini dinleme örneği verilmiştir:

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 mevcut URL isteği hakkında bilgi içeren bir sözlük iletilir. İlgili içeriği oluşturmak için kullanılan söz konusu sözlükteki bilgiler, belirli bir etkinlik türüne ve opt_extraInfoSpec

İsteğe bağlı opt_extraInfoSpec dizisi 'blocking' dizesini içeriyorsa (yalnızca belirli etkinliklerde) geri çağırma işlevi eşzamanlı olarak işlenir. Bu, isteğin geri çağırma işlevi geri gelene kadar engellenir. Bu durumda, geri çağırma işlevi bir İsteğin diğer yaşam döngüsünü belirleyen webRequest.BlockingResponse. Şuna bağlı olarak: Bağlama göre bu yanıt, bir isteğin (onBeforeRequest) iptal edilmesine veya yönlendirilmesine olanak tanır. bir isteği iptal etme veya başlıkları değiştirme (onBeforeSendHeaders, onHeadersReceived) ve bir isteği iptal etme veya kimlik doğrulama bilgileri sağlama (onAuthRequired).

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

webRequest.RequestFilter filter, etkinlik yapılan isteklerin sınırlandırılmasına olanak tanır. çeşitli boyutlarda tetiklenen:

URL'ler
URL kalıpları (ör. *://www.google.com/foo*bar).
Türler
main_frame (üst düzey çerçeve için yüklenen bir doküman), sub_frame (bir yerleşik bir çerçeve için yüklenen doküman) ve image (web sitesindeki bir resim). Görüntüleyin webRequest.RequestFilter.
Sekme Kimliği
Bir sekmenin tanımlayıcısı.
Aralık kimliği
Bir pencerenin tanımlayıcısı.

Etkinlik türüne bağlı olarak opt_extraInfoSpec içinde ek sorgular için dizeler belirtebilirsiniz. taleple ilgili bilgileri sağlar. Bu bölüm, yalnızca istek verileriyle ilgili ayrıntılı bilgi sağlamak için kullanılır açıkça istenirse.

Kimlik doğrulamayı işleme

HTTP kimlik doğrulaması isteklerini işlemek için "webRequestAuthProvider" ekleyin manifest dosyanız için izin verin:

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

Bu iznin, "webRequestBlocking" izni.

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ı

Alan adlarında kullanılan web isteği API'si:

web_accessible_resources

Bir uzantı, herkese açık kaynak isteğini web'den erişilemeyen bir kaynağa yönlendirmek için webRequest API'lerini kullandığında engellenir ve bir hataya neden olur. Web'e erişilemeyen kaynağın sahibi, yönlendiren uzantı olsa bile yukarıdaki kural geçerlidir. declarativeWebRequest API'leriyle kullanılacak kaynakları bildirmek için "web_accessible_resources" dizisi, burada belirtildiği gibi manifestte belirtilmeli ve manifestte doldurulmalıdır.

Çatışma çözümü

Web isteği API'sinin şu anki uygulamasında, bir istek aşağıdaki durumlarda iptal edilmiş olarak kabul edilir: en az bir uzantı isteği iptal etme talimatı veriyor. Uzantı bir isteği iptal ederse, uzantılar onErrorOccurred etkinliği tarafından bilgilendirilir. Yalnızca bir uzantı bir tek seferde bir üstbilgiyi isteme veya değiştirme. 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. Şu durumda uzantı bildirilmez: değiştirme veya yönlendirme talimatı yoksayıldı.

Önbelleğe alma

Chrome, disk üzerinde önbellek ve çok hızlı bir bellek içi önbellek olmak üzere iki önbellek kullanır. Bir kurumun yaşam boyu bellek içi önbellek, kabaca bir sekmeye karşılık gelen, oluşturma işleminin ömrüne bağlıdır. Bellek içi önbellekten yanıtlanan istekler, web isteği API'si tarafından görünmez. istek işleyicisinin davranışını değiştirmesi (örneğin, isteklerin hangi işleme engellenmişse), basit bir sayfa yenilemesinde bu değişen davranış geçerli olmayabilir. Bu davranışın olursa bellek içi önbelleği temizlemek için handlerBehaviorChanged() çağrısı yapın. Ama yapma sıklıkla; önbelleğin temizlenmesi çok pahalı bir işlemdir. Aramanız gerekmez handlerBehaviorChanged().

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ırdığınızda bunlar arasında doğru dengeyi bulabilirsiniz. Ancak, geçerli zamana göre ayarlayabilirsiniz (örneğin, (new Date()).getTime() aracılığıyla) ve beklenmedik sonuçlar verebilir.

Hata işleme

Geçersiz bağımsız değişkenler içeren bir etkinliği kaydetmeye çalışırsanız bir JavaScript hatası verilir ve etkinlik işleyici kaydedilmez. Bir etkinlik işlenirken hata verilirse veya etkinlik işleyici geçersiz bir engelleme yanıtı döndürdüğünde, uzantınızın konsolu sağlar ve işleyici bu istek için yoksayılır.

Örnekler

Aşağıdaki örnekte, www.evil.com adresine gönderilen 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 bir engelleme etkinlik işleyicisi kullandığından hem "webRequest" hem de Manifest dosyasında "webRequestBlocking" izni bulunmalıdır.

Aşağıdaki örnek, aynı hedefe daha verimli bir şekilde ulaşmayı amaçlamaktadır çünkü www.evil.com hedefine hedeflenenlerin uzantıya aktarılması gerekmez:

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 bölümünden webRequest örneğini yükleyin depodur.

Türler

BlockingResponse

"blocking" [engelleme] özelliğine sahip etkinlik işleyiciler için değer döndürür additionalInfoSpec ayarı uygulandı. Etkinlik işleyicinin ağ isteklerini değiştirmesine izin verir.

Özellikler

  • authCredentials

    nesne isteğe bağlı

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

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

    dize 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önlendirmeler, yönlendirme için orijinal istek yöntemini kullanır. Ancak bir istisna vardır: Yönlendirme onHeadersReceived aşamasında başlatılırsa, yönlendirme GET yöntemi kullanılarak verilir. ws:// ve wss:// şemalarına sahip URL'lerden gelen 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 bu yanıt başlıklarıyla yanıt verdiği varsayılır. responseHeaders değerini yalnızca çakışma sayısını sınırlandırmak için başlıkları gerçekten değiştirmek istiyorsanız responseHeaders döndürün (her istek için responseHeaders öğesini yalnızca bir uzantı değiştirebilir).

FormDataItem

Chrome 66 ve sonraki sürümler 'nı inceleyin.

Form verileri içinde iletilen verileri içerir. Veriler utf-8 dizesiyse dize olarak, aksi halde ArrayBuffer olarak depolanır. Form verileri için ise ArrayBuffer kullanılır. form-data, yükleme işlemini temsil ediyorsa dosya adı sağlanmışsa dosya adını içeren bir dizedir.

Enum

DiziArabelleği

dize

HttpHeaders

HTTP üstbilgileri dizisi. Her başlık name ve value ya da binaryValue anahtarlarını içeren bir sözlük olarak gösterilir.

Tür

object[]

Özellikler

  • binaryValue

    sayı[] isteğe bağlı

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

  • ad

    dize

    HTTP üstbilgisinin adı.

  • value

    dize isteğe bağlı

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

IgnoredActionType

Chrome 70 ve sonraki sürümler 'nı inceleyin.

Enum

"redirect"

"request_headers"

&quot;response_headers&quot;

&quot;auth_credentials&quot;

OnAuthRequiredOptions

Chrome 44 ve sonraki sürümler 'nı inceleyin.

Enum

&quot;responseHeaders&quot;
Yanıt üstbilgilerinin etkinliğe dahil edilmesi gerektiğini belirtir.

"blocking"
Geri çağırma işlevi geri gelene kadar isteğin engelleneceğini belirtir.

&quot;asyncBlocking&quot;
Geri çağırma işlevinin eşzamansız olarak işleneceğini belirtir.

"extraHeaders"
Üstbilgilerin, Kaynaklar Arası Kaynak Paylaşımı'nı (CORS) ihlal edebileceğini belirtir.

OnBeforeRedirectOptions

Chrome 44 ve sonraki sürümler 'nı inceleyin.

Enum

&quot;responseHeaders&quot;
Yanıt üstbilgilerinin etkinliğe dahil edilmesi gerektiğini belirtir.

"extraHeaders"
Üstbilgilerin, Kaynaklar Arası Kaynak Paylaşımı'nı (CORS) ihlal edebileceğini belirtir.

OnBeforeRequestOptions

Chrome 44 ve sonraki sürümler 'nı inceleyin.

Enum

"blocking"
Geri çağırma işlevi geri gelene kadar isteğin engelleneceğini belirtir.

&quot;requestBody&quot;
İstek gövdesinin etkinliğe dahil edilmesi gerektiğini belirtir.

"extraHeaders"
Üstbilgilerin, Kaynaklar Arası Kaynak Paylaşımı'nı (CORS) ihlal edebileceğini belirtir.

OnBeforeSendHeadersOptions

Chrome 44 ve sonraki sürümler 'nı inceleyin.

Enum

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

"blocking"
Geri çağırma işlevi geri gelene kadar isteğin engelleneceğini belirtir.

"extraHeaders"
Üstbilgilerin, Kaynaklar Arası Kaynak Paylaşımı'nı (CORS) ihlal edebileceğini belirtir.

OnCompletedOptions

Chrome 44 ve sonraki sürümler 'nı inceleyin.

Enum

&quot;responseHeaders&quot;
Yanıt üstbilgilerinin etkinliğe dahil edilmesi gerektiğini belirtir.

"extraHeaders"
Üstbilgilerin, Kaynaklar Arası Kaynak Paylaşımı'nı (CORS) ihlal edebileceğini belirtir.

OnErrorOccurredOptions

Chrome 79 ve sonraki sürümler 'nı inceleyin.

Değer

"extraHeaders"

OnHeadersReceivedOptions

Chrome 44 ve sonraki sürümler 'nı inceleyin.

Enum

"blocking"
Geri çağırma işlevi geri gelene kadar isteğin engelleneceğini belirtir.

&quot;responseHeaders&quot;
Yanıt üstbilgilerinin etkinliğe dahil edilmesi gerektiğini belirtir.

"extraHeaders"
Üstbilgilerin, Kaynaklar Arası Kaynak Paylaşımı'nı (CORS) ihlal edebileceğini belirtir.

OnResponseStartedOptions

Chrome 44 ve sonraki sürümler 'nı inceleyin.

Enum

&quot;responseHeaders&quot;
Yanıt üstbilgilerinin etkinliğe dahil edilmesi gerektiğini belirtir.

"extraHeaders"
Üstbilgilerin, Kaynaklar Arası Kaynak Paylaşımı'nı (CORS) ihlal edebileceğini belirtir.

OnSendHeadersOptions

Chrome 44 ve sonraki sürümler 'nı inceleyin.

Enum

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

"extraHeaders"
Üstbilgilerin, Kaynaklar Arası Kaynak Paylaşımı'nı (CORS) ihlal edebileceğini belirtir.

RequestFilter

webRequest etkinliklerine uygulanacak filtreleri açıklayan bir nesne.

Özellikler

  • tabId

    sayı isteğe bağlı

  • türler

    ResourceType[] isteğe bağlı

    İstek türlerinin listesi. Türlerin hiçbiriyle eşleşemeyen istekler filtrelenir.

  • urller

    dize[]

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

  • windowId

    sayı isteğe bağlı

ResourceType

Chrome 44 ve sonraki sürümler 'nı inceleyin.

Enum

"main_frame"
Kaynağı ana çerçeve olarak belirtir.

"sub_frame"
Kaynağı bir alt çerçeve olarak belirtir.

"stylesheet"
Kaynağı stil sayfası olarak belirtir.

&quot;script&quot;
Kaynağı komut dosyası olarak belirtir.

"image"
Kaynağı bir resim olarak belirtir.

"font"
Kaynağı bir yazı tipi olarak belirtir.

"object"
Kaynağı nesne olarak belirtir.

&quot;xmlhttprequest&quot;
Kaynağı bir XMLHttpRequest olarak belirtir.

"ping"
Kaynağı ping olarak belirtir.

&quot;csp_report&quot;
Kaynağı, İçerik Güvenlik Politikası (İGP) raporu olarak belirtir.

"media"
Kaynağı medya nesnesi olarak belirtir.

"websocket"
Kaynağı WebSocket olarak belirtir.

"webbundle"
Kaynağı bir WebBundle olarak belirtir.

"other"
Kaynağı, listelenen türler arasında bulunmayan bir tür olarak belirtir.

UploadData

URL isteğine yüklenen verileri içerir.

Özellikler

  • bayt

    isteğe bağlı herhangi bir

    Verilerin bir kopyasını içeren ArrayBuffer.

  • dosya

    dize 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, sık çağrılmaması gereken pahalı bir işlev çağrısıdır.

Değer

20

Yöntemler

handlerBehaviorChanged()

Söz 'nı inceleyin.
chrome.webRequest.handlerBehaviorChanged(
  callback?: function,
)

Önbelleğe alma nedeniyle yanlış işlemeyi önlemek için webRequest işleyicilerin davranışı değiştiğinde çağrılması gerekir. Bu işlev çağrısı pahalı. Sık sık aramayın.

Parametreler

  • geri çağırma

    işlev isteğe bağlı

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

    () => void

İadeler

  • Taahhüt<void>

    Chrome 116 ve sonraki sürümler 'nı inceleyin.

    Manifest V3 ve sonraki sürümlerde vaatler desteklenir ancak geriye dönük uyumluluk Aynı işlev çağrısında ikisini birden kullanamazsınız. İlgili içeriği oluşturmak için kullanılan taahhüt, geri çağırmaya iletilen aynı türle çözümlenir.

Etkinlikler

onActionIgnored

Chrome 70 ve sonraki sürümler 'nı inceleyin.
chrome.webRequest.onActionIgnored.addListener(
  callback: function,
)

Bir uzantının ağ isteği için önerdiği değişiklik yoksayıldığında tetiklenir. Bu, 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

      • Yoksayılan önerilen işlem.

      • requestId

        dize

        İsteğin kimliği. Bir tarayıcı oturumundaki istek kimlikleri benzersizdir. Sonuç olarak 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 bilgilerini sağlayabilir, isteği iptal edip hata sayfasını görüntüleyebilir veya sorgulamada hiçbir işlem yapamaz. Hatalı kullanıcı kimlik bilgileri sağlanırsa bu, 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

  • 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 'nı inceleyin.

        İsteği yapan dokümanın UUID'si.

      • Chrome 106 ve sonraki sürümler 'nı inceleyin.

        Dokümanın bulunduğu yaşam döngüsü.

      • frameId

        sayı

        0 değeri, isteğin ana çerçevede gerçekleştiğini gösterir; pozitif değer, isteğin gerçekleştiği alt çerçevenin kimliğini belirtir. Bir (alt) çerçevenin dokümanı yüklenirse (type değeri main_frame veya sub_frame ise) frameId, dış çerçevenin kimliğini değil, bu çerçevenin kimliğini belirtir. Sekme içinde çerçeve kimlikleri benzersizdir.

      • Chrome 106 ve sonraki sürümler 'nı inceleyin.

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

      • başlatan

        dize isteğe bağlı

        Chrome 63 ve sonraki sürümler 'nı inceleyin.

        İsteğin başlatıldığı kaynak. Bu durum yönlendirmelere bağlı olarak değişmez. Bu opak bir kaynaksa 'null' dizesi oluşturmak için kullanılır.

      • isProxy

        boolean

        Proxy-Kimlik Doğrulama için True (Doğru), WWW-Kimlik Doğrulama için false (yanlış).

      • method

        dize

        Standart HTTP yöntemi.

      • parentDocumentId

        dize isteğe bağlı

        Chrome 106 ve sonraki sürümler 'nı inceleyin.

        Bu çerçevenin sahibi olan üst dokümanın UUID'si. Üst öğe yoksa ayarlanmaz.

      • parentFrameId

        sayı

        İsteği gönderen çerçeveyi saran çerçevenin kimliği. Üst çerçeve yoksa -1 olarak ayarlayın.

      • erişim alanı

        dize isteğe bağlı

        Varsa sunucu tarafından sağlanan kimlik doğrulama alanı.

      • requestId

        dize

        İsteğin kimliği. Bir tarayıcı oturumundaki istek kimlikleri benzersizdir. Sonuç olarak 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 üstbilgileri.

      • şema

        dize

        Kimlik doğrulama şeması, ör. Temel veya Özet.

      • statusCode

        sayı

        Chrome 43 ve sonraki sürümler 'nı inceleyin.

        Sunucu tarafından döndürülen standart HTTP durum kodu.

      • statusLine

        dize

        Yanıtın HTTP durum satırı veya "HTTP/0.9 200 OK" dize (ör. durum satırı olmayan yanıtlar) veya başlık yoksa boş dize kullanabilirsiniz.

      • 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 tetiklenme süresi.

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

      • url

        dize

    • asyncCallback

      işlev isteğe bağlı

      Chrome 58 ve sonraki sürümler 'nı inceleyin.

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

      (response: BlockingResponse) => void

    • returns

      BlockingResponse | tanımsız

      "Engelleniyorsa" "extraInfoSpec" parametresinde belirtilir parametresinin değeri için etkinlik işleyicinin bu türde bir nesne döndürmesi gerekir.

  • filtrele
  • 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 'nı inceleyin.

        İsteği yapan dokümanın UUID'si.

      • Chrome 106 ve sonraki sürümler 'nı inceleyin.

        Dokümanın bulunduğu yaşam döngüsü.

      • frameId

        sayı

        0 değeri, isteğin ana çerçevede gerçekleştiğini gösterir; pozitif değer, isteğin gerçekleştiği alt çerçevenin kimliğini belirtir. Bir (alt) çerçevenin dokümanı yüklenirse (type değeri main_frame veya sub_frame ise) frameId, dış çerçevenin kimliğini değil, bu çerçevenin kimliğini belirtir. Sekme içinde çerçeve kimlikleri benzersizdir.

      • Chrome 106 ve sonraki sürümler 'nı inceleyin.

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

      • fromCache

        boolean

        Bu yanıtın disk önbelleğinden getirilip getirilmediğini belirtir.

      • başlatan

        dize isteğe bağlı

        Chrome 63 ve sonraki sürümler 'nı inceleyin.

        İsteğin başlatıldığı kaynak. Bu durum yönlendirmelere bağlı olarak değişmez. Bu opak bir kaynaksa 'null' dizesi oluşturmak için kullanılır.

      • ip

        dize isteğe bağlı

        İsteğin gerçekten gönderildiği sunucu IP adresi. Bu adresin değişmez bir IPv6 adresi olabileceğini unutmayın.

      • method

        dize

        Standart HTTP yöntemi.

      • parentDocumentId

        dize isteğe bağlı

        Chrome 106 ve sonraki sürümler 'nı inceleyin.

        Bu çerçevenin sahibi olan üst dokümanın UUID'si. Üst öğe yoksa ayarlanmaz.

      • parentFrameId

        sayı

        İsteği gönderen çerçeveyi saran çerçevenin kimliği. Üst çerçeve yoksa -1 olarak ayarlayın.

      • redirectUrl

        dize

        Yeni URL.

      • requestId

        dize

        İsteğin kimliği. Bir tarayıcı oturumundaki istek kimlikleri benzersizdir. Sonuç olarak 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 ü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 200 OK" dize (ör. durum satırı olmayan yanıtlar) veya başlık yoksa boş dize kullanabilirsiniz.

      • 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 tetiklenme süresi.

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

      • url

        dize

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

        dize isteğe bağlı

        Chrome 106 ve sonraki sürümler 'nı inceleyin.

        İsteği yapan dokümanın UUID'si.

      • documentLifecycle
        Chrome 106 ve sonraki sürümler 'nı inceleyin.

        Dokümanın bulunduğu yaşam döngüsü.

      • frameId

        sayı

        0 değeri, isteğin ana çerçevede gerçekleştiğini gösterir; pozitif değer, isteğin gerçekleştiği alt çerçevenin kimliğini belirtir. Bir (alt) çerçevenin dokümanı yüklenirse (type değeri main_frame veya sub_frame ise) frameId, dış çerçevenin kimliğini değil, bu çerçevenin kimliğini belirtir. Sekme içinde çerçeve kimlikleri benzersizdir.

      • frameType
        Chrome 106 ve sonraki sürümler 'nı inceleyin.

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

      • başlatan

        dize isteğe bağlı

        Chrome 63 ve sonraki sürümler 'nı inceleyin.

        İsteğin başlatıldığı kaynak. Bu durum yönlendirmelere bağlı olarak değişmez. Bu opak bir kaynaksa 'null' dizesi oluşturmak için kullanılır.

      • method

        dize

        Standart HTTP yöntemi.

      • parentDocumentId

        dize isteğe bağlı

        Chrome 106 ve sonraki sürümler 'nı inceleyin.

        Bu çerçevenin sahibi olan üst dokümanın UUID'si. Üst öğe yoksa ayarlanmaz.

      • parentFrameId

        sayı

        İsteği gönderen çerçeveyi saran çerçevenin kimliği. Üst çerçeve yoksa -1 olarak ayarlayın.

      • requestBody

        nesne isteğe bağlı

        HTTP isteğinin gövde verilerini içerir. Yalnızca extraInfoSpec "requestBody" öğesini içeriyorsa sağlanır.

        • hata

          dize isteğe bağlı

          İstek gövde verileri alınırken hatalar oluştu.

        • formData

          nesne isteğe bağlı

          İstek yöntemi POST ise ve gövde de çok parçalı/form-veri veya application/x-www-form-url bilgisi olarak kodlanmış UTF8'de kodlanmış bir anahtar/değer çiftleri dizisiyse bu sözlük mevcuttur ve her anahtar için söz konusu anahtara ait tüm değerlerin listesi bulunur. Veriler 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']} şeklindedir.

        • ham

          UploadData[] isteğe bağlı

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

      • requestId

        dize

        İsteğin kimliği. Bir tarayıcı oturumundaki istek kimlikleri benzersizdir. Sonuç olarak 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 ayarlayın.

      • timeStamp

        sayı

        Dönemden bu yana milisaniye cinsinden bu sinyalin tetiklenme süresi.

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

      • url

        dize

    • returns

      BlockingResponse | tanımsız

      "Engelleniyorsa" "extraInfoSpec" parametresinde belirtilir parametresinin değeri için etkinlik işleyicinin bu türde bir nesne döndürmesi gerekir.

  • filtrele
  • 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, 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 'nı inceleyin.

        İsteği yapan dokümanın UUID'si.

      • Chrome 106 ve sonraki sürümler 'nı inceleyin.

        Dokümanın bulunduğu yaşam döngüsü.

      • frameId

        sayı

        0 değeri, isteğin ana çerçevede gerçekleştiğini gösterir; pozitif değer, isteğin gerçekleştiği alt çerçevenin kimliğini belirtir. Bir (alt) çerçevenin dokümanı yüklenirse (type değeri main_frame veya sub_frame ise) frameId, dış çerçevenin kimliğini değil, bu çerçevenin kimliğini belirtir. Sekme içinde çerçeve kimlikleri benzersizdir.

      • Chrome 106 ve sonraki sürümler 'nı inceleyin.

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

      • başlatan

        dize isteğe bağlı

        Chrome 63 ve sonraki sürümler 'nı inceleyin.

        İsteğin başlatıldığı kaynak. Bu durum yönlendirmelere bağlı olarak değişmez. Bu opak bir kaynaksa 'null' dizesi oluşturmak için kullanılır.

      • method

        dize

        Standart HTTP yöntemi.

      • parentDocumentId

        dize isteğe bağlı

        Chrome 106 ve sonraki sürümler 'nı inceleyin.

        Bu çerçevenin sahibi olan üst dokümanın UUID'si. Üst öğe yoksa ayarlanmaz.

      • parentFrameId

        sayı

        İsteği gönderen çerçeveyi saran çerçevenin kimliği. Üst çerçeve yoksa -1 olarak ayarlayın.

      • requestHeaders

        HttpHeaders isteğe bağlı

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

      • requestId

        dize

        İsteğin kimliği. Bir tarayıcı oturumundaki istek kimlikleri benzersizdir. Sonuç olarak 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 ayarlayın.

      • timeStamp

        sayı

        Dönemden bu yana milisaniye cinsinden bu sinyalin tetiklenme süresi.

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

      • url

        dize

    • returns

      BlockingResponse | tanımsız

      "Engelleniyorsa" "extraInfoSpec" parametresinde belirtilir parametresinin değeri için etkinlik işleyicinin bu türde bir nesne döndürmesi gerekir.

  • filtrele
  • 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 'nı inceleyin.

        İsteği yapan dokümanın UUID'si.

      • Chrome 106 ve sonraki sürümler 'nı inceleyin.

        Dokümanın bulunduğu yaşam döngüsü.

      • frameId

        sayı

        0 değeri, isteğin ana çerçevede gerçekleştiğini gösterir; pozitif değer, isteğin gerçekleştiği alt çerçevenin kimliğini belirtir. Bir (alt) çerçevenin dokümanı yüklenirse (type değeri main_frame veya sub_frame ise) frameId, dış çerçevenin kimliğini değil, bu çerçevenin kimliğini belirtir. Sekme içinde çerçeve kimlikleri benzersizdir.

      • Chrome 106 ve sonraki sürümler 'nı inceleyin.

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

      • fromCache

        boolean

        Bu yanıtın disk önbelleğinden getirilip getirilmediğini belirtir.

      • başlatan

        dize isteğe bağlı

        Chrome 63 ve sonraki sürümler 'nı inceleyin.

        İsteğin başlatıldığı kaynak. Bu durum yönlendirmelere bağlı olarak değişmez. Bu opak bir kaynaksa 'null' dizesi oluşturmak için kullanılır.

      • ip

        dize isteğe bağlı

        İsteğin gerçekten gönderildiği sunucu IP adresi. Bu adresin değişmez bir IPv6 adresi olabileceğini unutmayın.

      • method

        dize

        Standart HTTP yöntemi.

      • parentDocumentId

        dize isteğe bağlı

        Chrome 106 ve sonraki sürümler 'nı inceleyin.

        Bu çerçevenin sahibi olan üst dokümanın UUID'si. Üst öğe yoksa ayarlanmaz.

      • parentFrameId

        sayı

        İsteği gönderen çerçeveyi saran çerçevenin kimliği. Üst çerçeve yoksa -1 olarak ayarlayın.

      • requestId

        dize

        İsteğin kimliği. Bir tarayıcı oturumundaki istek kimlikleri benzersizdir. Sonuç olarak 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 ü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 200 OK" dize (ör. durum satırı olmayan yanıtlar) veya başlık yoksa boş dize kullanabilirsiniz.

      • 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 tetiklenme süresi.

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

      • url

        dize

  • filtrele
  • extraInfoSpec

    OnCompletedOptions[] isteğe bağlı

onErrorOccurred

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

Bir 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 'nı inceleyin.

        İsteği yapan dokümanın UUID'si. İstek, bir çerçevede gezinme ise bu değer mevcut değildir.

      • Chrome 106 ve sonraki sürümler 'nı inceleyin.

        Dokümanın bulunduğu yaşam döngüsü.

      • hata

        dize

        Hata açıklaması. Bu dizenin, sürümler arasında geriye dönük uyumlu olmaya devam edeceği garanti edilmez. İçeriğini ayrıştırmamanız ve bu içeriğe göre işlem yapmamanız gerekir.

      • frameId

        sayı

        0 değeri, isteğin ana çerçevede gerçekleştiğini gösterir; pozitif değer, isteğin gerçekleştiği alt çerçevenin kimliğini belirtir. Bir (alt) çerçevenin dokümanı yüklenirse (type değeri main_frame veya sub_frame ise) frameId, dış çerçevenin kimliğini değil, bu çerçevenin kimliğini belirtir. Sekme içinde çerçeve kimlikleri benzersizdir.

      • Chrome 106 ve sonraki sürümler 'nı inceleyin.

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

      • fromCache

        boolean

        Bu yanıtın disk önbelleğinden getirilip getirilmediğini belirtir.

      • başlatan

        dize isteğe bağlı

        Chrome 63 ve sonraki sürümler 'nı inceleyin.

        İsteğin başlatıldığı kaynak. Bu durum yönlendirmelere bağlı olarak değişmez. Bu opak bir kaynaksa 'null' dizesi oluşturmak için kullanılır.

      • ip

        dize isteğe bağlı

        İsteğin gerçekten gönderildiği sunucu IP adresi. Bu adresin değişmez bir IPv6 adresi olabileceğini unutmayın.

      • method

        dize

        Standart HTTP yöntemi.

      • parentDocumentId

        dize isteğe bağlı

        Chrome 106 ve sonraki sürümler 'nı inceleyin.

        Bu çerçevenin sahibi olan üst dokümanın UUID'si. Üst öğe yoksa ayarlanmaz.

      • parentFrameId

        sayı

        İsteği gönderen çerçeveyi saran çerçevenin kimliği. Üst çerçeve yoksa -1 olarak ayarlayın.

      • requestId

        dize

        İsteğin kimliği. Bir tarayıcı oturumundaki istek kimlikleri benzersizdir. Sonuç olarak 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 ayarlayın.

      • timeStamp

        sayı

        Dönemden bu yana milisaniye cinsinden bu sinyalin tetiklenme süresi.

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

      • url

        dize

  • filtrele
  • 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 'nı inceleyin.

        İsteği yapan dokümanın UUID'si.

      • Chrome 106 ve sonraki sürümler 'nı inceleyin.

        Dokümanın bulunduğu yaşam döngüsü.

      • frameId

        sayı

        0 değeri, isteğin ana çerçevede gerçekleştiğini gösterir; pozitif değer, isteğin gerçekleştiği alt çerçevenin kimliğini belirtir. Bir (alt) çerçevenin dokümanı yüklenirse (type değeri main_frame veya sub_frame ise) frameId, dış çerçevenin kimliğini değil, bu çerçevenin kimliğini belirtir. Sekme içinde çerçeve kimlikleri benzersizdir.

      • Chrome 106 ve sonraki sürümler 'nı inceleyin.

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

      • başlatan

        dize isteğe bağlı

        Chrome 63 ve sonraki sürümler 'nı inceleyin.

        İsteğin başlatıldığı kaynak. Bu durum yönlendirmelere bağlı olarak değişmez. Bu opak bir kaynaksa 'null' dizesi oluşturmak için kullanılır.

      • method

        dize

        Standart HTTP yöntemi.

      • parentDocumentId

        dize isteğe bağlı

        Chrome 106 ve sonraki sürümler 'nı inceleyin.

        Bu çerçevenin sahibi olan üst dokümanın UUID'si. Üst öğe yoksa ayarlanmaz.

      • parentFrameId

        sayı

        İsteği gönderen çerçeveyi saran çerçevenin kimliği. Üst çerçeve yoksa -1 olarak ayarlayın.

      • requestId

        dize

        İsteğin kimliği. Bir tarayıcı oturumundaki istek kimlikleri benzersizdir. Sonuç olarak aynı isteğin farklı etkinliklerini 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 'nı inceleyin.

        Sunucu tarafından döndürülen standart HTTP durum kodu.

      • statusLine

        dize

        Yanıtın HTTP durum satırı veya "HTTP/0.9 200 OK" dizesi) tanımlar (ör. durum satırı içermeyen yanıtlar).

      • 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 tetiklenme süresi.

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

      • url

        dize

    • returns

      BlockingResponse | tanımsız

      "Engelleniyorsa" "extraInfoSpec" parametresinde belirtilir parametresinin değeri için etkinlik işleyicinin bu türde bir nesne döndürmesi gerekir.

  • filtrele
  • 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 başlıklarının kullanılabilir olduğu 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 'nı inceleyin.

        İsteği yapan dokümanın UUID'si.

      • Chrome 106 ve sonraki sürümler 'nı inceleyin.

        Dokümanın bulunduğu yaşam döngüsü.

      • frameId

        sayı

        0 değeri, isteğin ana çerçevede gerçekleştiğini gösterir; pozitif değer, isteğin gerçekleştiği alt çerçevenin kimliğini belirtir. Bir (alt) çerçevenin dokümanı yüklenirse (type değeri main_frame veya sub_frame ise) frameId, dış çerçevenin kimliğini değil, bu çerçevenin kimliğini belirtir. Sekme içinde çerçeve kimlikleri benzersizdir.

      • Chrome 106 ve sonraki sürümler 'nı inceleyin.

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

      • fromCache

        boolean

        Bu yanıtın disk önbelleğinden getirilip getirilmediğini belirtir.

      • başlatan

        dize isteğe bağlı

        Chrome 63 ve sonraki sürümler 'nı inceleyin.

        İsteğin başlatıldığı kaynak. Bu durum yönlendirmelere bağlı olarak değişmez. Bu opak bir kaynaksa 'null' dizesi oluşturmak için kullanılır.

      • ip

        dize isteğe bağlı

        İsteğin gerçekten gönderildiği sunucu IP adresi. Bu adresin değişmez bir IPv6 adresi olabileceğini unutmayın.

      • method

        dize

        Standart HTTP yöntemi.

      • parentDocumentId

        dize isteğe bağlı

        Chrome 106 ve sonraki sürümler 'nı inceleyin.

        Bu çerçevenin sahibi olan üst dokümanın UUID'si. Üst öğe yoksa ayarlanmaz.

      • parentFrameId

        sayı

        İsteği gönderen çerçeveyi saran çerçevenin kimliği. Üst çerçeve yoksa -1 olarak ayarlayın.

      • requestId

        dize

        İsteğin kimliği. Bir tarayıcı oturumundaki istek kimlikleri benzersizdir. Sonuç olarak 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 ü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 200 OK" dize (ör. durum satırı olmayan yanıtlar) veya başlık yoksa boş dize kullanabilirsiniz.

      • 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 tetiklenme süresi.

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

      • url

        dize

  • filtrele
  • extraInfoSpec

    OnResponseStartedOptions[] isteğe bağlı

onSendHeaders

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

Bir istek sunucuya gönderilmeden hemen önce tetiklenir (önceki onBeforeSendHeaders geri çağırmalarının değişiklikleri, onSendHeaders etkinleştiğinde görünür).

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 'nı inceleyin.

        İsteği yapan dokümanın UUID'si.

      • Chrome 106 ve sonraki sürümler 'nı inceleyin.

        Dokümanın bulunduğu yaşam döngüsü.

      • frameId

        sayı

        0 değeri, isteğin ana çerçevede gerçekleştiğini gösterir; pozitif değer, isteğin gerçekleştiği alt çerçevenin kimliğini belirtir. Bir (alt) çerçevenin dokümanı yüklenirse (type değeri main_frame veya sub_frame ise) frameId, dış çerçevenin kimliğini değil, bu çerçevenin kimliğini belirtir. Sekme içinde çerçeve kimlikleri benzersizdir.

      • Chrome 106 ve sonraki sürümler 'nı inceleyin.

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

      • başlatan

        dize isteğe bağlı

        Chrome 63 ve sonraki sürümler 'nı inceleyin.

        İsteğin başlatıldığı kaynak. Bu durum yönlendirmelere bağlı olarak değişmez. Bu opak bir kaynaksa 'null' dizesi oluşturmak için kullanılır.

      • method

        dize

        Standart HTTP yöntemi.

      • parentDocumentId

        dize isteğe bağlı

        Chrome 106 ve sonraki sürümler 'nı inceleyin.

        Bu çerçevenin sahibi olan üst dokümanın UUID'si. Üst öğe yoksa ayarlanmaz.

      • parentFrameId

        sayı

        İsteği gönderen çerçeveyi saran çerçevenin kimliği. Üst çerçeve yoksa -1 olarak ayarlayın.

      • requestHeaders

        HttpHeaders isteğe bağlı

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

      • requestId

        dize

        İsteğin kimliği. Bir tarayıcı oturumundaki istek kimlikleri benzersizdir. Sonuç olarak 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 ayarlayın.

      • timeStamp

        sayı

        Dönemden bu yana milisaniye cinsinden bu sinyalin tetiklenme süresi.

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

      • url

        dize

  • filtrele
  • extraInfoSpec

    OnSendHeadersOptions[] isteğe bağlı