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:
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
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) veimage
(web sitesindeki bir resim). GörüntüleyinwebRequest.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://
vewss://
ş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ızresponseHeaders
döndürün (her istek içinresponseHeaders
öğesini yalnızca bir uzantı değiştirebilir).
FormDataItem
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
Enum
"redirect"
"request_headers"
"response_headers"
"auth_credentials"
OnAuthRequiredOptions
Enum
"responseHeaders"
Yanıt üstbilgilerinin etkinliğe dahil edilmesi gerektiğini belirtir.
"blocking"
Geri çağırma işlevi geri gelene kadar isteğin engelleneceğini belirtir.
"asyncBlocking"
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
Enum
"responseHeaders"
Yanıt üstbilgilerinin etkinliğe dahil edilmesi gerektiğini belirtir.
"extraHeaders"
Üstbilgilerin, Kaynaklar Arası Kaynak Paylaşımı'nı (CORS) ihlal edebileceğini belirtir.
OnBeforeRequestOptions
Enum
"blocking"
Geri çağırma işlevi geri gelene kadar isteğin engelleneceğini belirtir.
"requestBody"
İstek gövdesinin etkinliğe dahil edilmesi gerektiğini belirtir.
"extraHeaders"
Üstbilgilerin, Kaynaklar Arası Kaynak Paylaşımı'nı (CORS) ihlal edebileceğini belirtir.
OnBeforeSendHeadersOptions
Enum
"requestHeaders"
İstek başlığının etkinliğe dahil edilmesi gerektiğini belirtir.
"blocking"
Geri çağırma işlevi geri gelene kadar isteğin engelleneceğini belirtir.
"extraHeaders"
Üstbilgilerin, Kaynaklar Arası Kaynak Paylaşımı'nı (CORS) ihlal edebileceğini belirtir.
OnCompletedOptions
Enum
"responseHeaders"
Yanıt üstbilgilerinin etkinliğe dahil edilmesi gerektiğini belirtir.
"extraHeaders"
Üstbilgilerin, Kaynaklar Arası Kaynak Paylaşımı'nı (CORS) ihlal edebileceğini belirtir.
OnErrorOccurredOptions
Değer
"extraHeaders"
OnHeadersReceivedOptions
Enum
"blocking"
Geri çağırma işlevi geri gelene kadar isteğin engelleneceğini belirtir.
"responseHeaders"
Yanıt üstbilgilerinin etkinliğe dahil edilmesi gerektiğini belirtir.
"extraHeaders"
Üstbilgilerin, Kaynaklar Arası Kaynak Paylaşımı'nı (CORS) ihlal edebileceğini belirtir.
OnResponseStartedOptions
Enum
"responseHeaders"
Yanıt üstbilgilerinin etkinliğe dahil edilmesi gerektiğini belirtir.
"extraHeaders"
Üstbilgilerin, Kaynaklar Arası Kaynak Paylaşımı'nı (CORS) ihlal edebileceğini belirtir.
OnSendHeadersOptions
Enum
"requestHeaders"
İstek başlığının etkinliğe dahil edilmesi gerektiğini belirtir.
"extraHeaders"
Üstbilgilerin, 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
Enum
"main_frame"
Kaynağı ana çerçeve olarak belirtir.
"sub_frame"
Kaynağı bir alt çerçeve olarak belirtir.
"stylesheet"
Kaynağı stil sayfası olarak belirtir.
"script"
Kaynağı komut dosyası olarak belirtir.
"image"
Kaynağı bir resim olarak belirtir.
"font"
Kaynağı bir yazı tipi olarak belirtir.
"object"
Kaynağı nesne olarak belirtir.
"xmlhttprequest"
Kaynağı bir XMLHttpRequest olarak belirtir.
"ping"
Kaynağı ping olarak belirtir.
"csp_report"
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()
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.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
-
işlem
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.
-
documentLifecycleChrome 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ğerimain_frame
veyasub_frame
ise)frameId
, dış çerçevenin kimliğini değil, bu çerçevenin kimliğini belirtir. Sekme içinde çerçeve kimlikleri benzersizdir. -
frameTypeChrome 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.
-
tür
İ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
-
yanıt
-
-
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.
-
documentLifecycleChrome 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ğerimain_frame
veyasub_frame
ise)frameId
, dış çerçevenin kimliğini değil, bu çerçevenin kimliğini belirtir. Sekme içinde çerçeve kimlikleri benzersizdir. -
frameTypeChrome 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.
-
tür
İ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
extensionTypes.DocumentLifecycle optional
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ğerimain_frame
veyasub_frame
ise)frameId
, dış çerçevenin kimliğini değil, bu çerçevenin kimliğini belirtir. Sekme içinde çerçeve kimlikleri benzersizdir. -
frameType
extensionTypes.FrameType optional
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.
-
tür
İ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.
-
documentLifecycleChrome 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ğerimain_frame
veyasub_frame
ise)frameId
, dış çerçevenin kimliğini değil, bu çerçevenin kimliğini belirtir. Sekme içinde çerçeve kimlikleri benzersizdir. -
frameTypeChrome 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.
-
tür
İ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.
-
documentLifecycleChrome 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ğerimain_frame
veyasub_frame
ise)frameId
, dış çerçevenin kimliğini değil, bu çerçevenin kimliğini belirtir. Sekme içinde çerçeve kimlikleri benzersizdir. -
frameTypeChrome 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.
-
tür
İ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.
-
documentLifecycleChrome 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ğerimain_frame
veyasub_frame
ise)frameId
, dış çerçevenin kimliğini değil, bu çerçevenin kimliğini belirtir. Sekme içinde çerçeve kimlikleri benzersizdir. -
frameTypeChrome 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.
-
tür
İ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.
-
documentLifecycleChrome 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ğerimain_frame
veyasub_frame
ise)frameId
, dış çerçevenin kimliğini değil, bu çerçevenin kimliğini belirtir. Sekme içinde çerçeve kimlikleri benzersizdir. -
frameTypeChrome 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.
-
tür
İ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.
-
documentLifecycleChrome 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ğerimain_frame
veyasub_frame
ise)frameId
, dış çerçevenin kimliğini değil, bu çerçevenin kimliğini belirtir. Sekme içinde çerçeve kimlikleri benzersizdir. -
frameTypeChrome 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.
-
tür
İ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.
-
documentLifecycleChrome 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ğerimain_frame
veyasub_frame
ise)frameId
, dış çerçevenin kimliğini değil, bu çerçevenin kimliğini belirtir. Sekme içinde çerçeve kimlikleri benzersizdir. -
frameTypeChrome 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.
-
tür
İstenen kaynağın nasıl kullanılacağı.
-
url
dize
-
-
-
filtrele
-
extraInfoSpec
OnSendHeadersOptions[] isteğe bağlı