refresh date: 2026-09-25 robots: noindex
Açıklama
chrome.declarativeNetRequest API'si, bildirim temelli kurallar belirterek ağ isteklerini engellemek veya değiştirmek için kullanılır. Bu sayede uzantılar, ağ isteklerini kesintiye uğratmadan ve içeriklerini görüntülemeden değiştirebilir. Böylece daha fazla gizlilik sağlanır.
İzinler
declarativeNetRequestdeclarativeNetRequestWithHostAccessdeclarativeNetRequestFeedbackhost_permissions
Kullanılabilirlik
Manifest
Yukarıda açıklanan izinlere ek olarak, belirli kural grubu türleri (özellikle statik kural grupları), "declarative_net_request" manifest anahtarının tanımlanmasını gerektirir. Bu anahtar, "rule_resources" adlı tek bir anahtara sahip bir sözlük olmalıdır. Bu anahtar, aşağıda gösterildiği gibi Ruleset türünde sözlükler içeren bir dizidir. ("Ruleset" adı yalnızca bir dizi olduğundan manifest dosyasının JSON'unda görünmez.) Statik kural kümeleri bu belgenin ilerleyen kısımlarında açıklanmıştır.
{
"name": "My extension",
...
"declarative_net_request" : {
"rule_resources" : [{
"id": "ruleset_1",
"enabled": true,
"path": "rules_1.json"
}, {
"id": "ruleset_2",
"enabled": false,
"path": "rules_2.json"
}]
},
"permissions": [
"declarativeNetRequest",
"declarativeNetRequestFeedback",
],
"host_permissions": [
"http://www.blogger.com/*",
"http://*.google.com/*"
],
...
}
Kavramlar ve kullanım
Bu API'yi kullanmak için bir veya daha fazla kural grubu belirtin. Kural grubu, bir kural dizisi içerir. Tek bir kural aşağıdakilerden birini yapar:
- Ağ isteğini engelleme
- Şemayı yükseltin (http'den https'ye).
- Eşleşen engellenmiş kuralları geçersiz kılarak bir isteğin engellenmesini önleyin.
- Ağ isteğini yönlendirme
- İstek veya yanıt başlıklarını değiştirme
Biraz farklı şekillerde yönetilen üç tür kural grubu vardır.
- Dinamik
- Tarayıcı oturumları ve uzantı yükseltmeleri boyunca kalıcıdır ve uzantı kullanılırken JavaScript kullanılarak yönetilir.
- Oturum
- Tarayıcı kapatıldığında ve uzantının yeni bir sürümü yüklendiğinde temizlenir. Oturum kuralları, bir uzantı kullanılırken JavaScript ile yönetilir.
- Statik
- Bir uzantı yüklendiğinde veya yeni sürüme geçirildiğinde paketlenir, yüklenir ve güncellenir. Statik kurallar, JSON biçimli kural dosyalarında depolanır ve manifest dosyasında listelenir.
Sonraki birkaç bölümde kural grubu türleri ayrıntılı olarak açıklanmaktadır.
Dinamik ve oturum kapsamlı kural kümeleri
Dinamik ve oturum kural kümeleri, bir uzantı kullanılırken JavaScript ile yönetilir.
- Dinamik kurallar, tarayıcı oturumları ve uzantı yükseltmeleri boyunca geçerli olur.
- Oturum kuralları, tarayıcı kapatıldığında ve uzantının yeni bir sürümü yüklendiğinde temizlenir.
Bu kural grubu türlerinin her birinden yalnızca bir tane vardır. Bir uzantı, kural sınırları aşılmadığı sürece updateDynamicRules() ve updateSessionRules() yöntemlerini çağırarak kuralları dinamik olarak ekleyebilir veya kaldırabilir. Kural sınırları hakkında bilgi edinmek için Kural sınırları başlıklı makaleyi inceleyin. Kod örnekleri bölümünde bunun bir örneğini görebilirsiniz.
Statik kural kümeleri
Dinamik ve oturum kurallarının aksine statik kurallar, bir uzantı yüklendiğinde veya yeni sürüme geçirildiğinde paketlenir, yüklenir ve güncellenir. Bunlar, "declarative_net_request" ve "rule_resources" anahtarları kullanılarak uzantıya yukarıda açıklandığı gibi belirtilen JSON biçimindeki kural dosyalarında ve bir veya daha fazla Ruleset sözlüğünde depolanır. Ruleset sözlüğü, kural dosyasının yolunu, dosyada bulunan kural kümesinin kimliğini ve kural kümesinin etkin mi yoksa devre dışı mı olduğunu içerir. Son ikisi, bir kural grubunu programatik olarak etkinleştirdiğinizde veya devre dışı bıraktığınızda önemlidir.
{
...
"declarative_net_request" : {
"rule_resources" : [{
"id": "ruleset_1",
"enabled": true,
"path": "rules_1.json"
},
...
]
}
...
}
Kural dosyalarını test etmek için uzantınızı paketi açılmış olarak yükleyin. Geçersiz statik kurallarla ilgili hatalar ve uyarılar yalnızca paketi açılmış uzantılar için gösterilir. Paketlenmiş uzantılardaki geçersiz statik kurallar yoksayılır.
Statik kuralları ve kural gruplarını etkinleştirme ve devre dışı bırakma
Hem bağımsız statik kurallar hem de eksiksiz statik kural kümeleri çalışma zamanında etkinleştirilebilir veya devre dışı bırakılabilir.
Etkin statik kurallar ve kural kümeleri, tarayıcı oturumları boyunca kalıcı olur. İkisi de uzantı güncellemeleri arasında kalıcı değildir. Yani güncellemeden sonra yalnızca kural dosyalarınızda bırakmayı seçtiğiniz kurallar kullanılabilir.
Performans nedeniyle, aynı anda etkinleştirilebilecek kural ve kural grubu sayısıyla ilgili de sınırlar vardır. Etkinleştirilebilecek ek kural sayısını kontrol etmek için getAvailableStaticRuleCount() yöntemini çağırın. Kural sınırları hakkında bilgi edinmek için Kural sınırları başlıklı makaleyi inceleyin.
Statik kuralları etkinleştirmek veya devre dışı bırakmak için updateStaticRules() yöntemini çağırın. Bu yöntem, etkinleştirilecek veya devre dışı bırakılacak kuralların kimlik dizilerini içeren bir UpdateStaticRulesOptions nesnesi alır. Kimlikler, Ruleset sözlüğünün "id" anahtarı kullanılarak tanımlanır.
Statik kural kümelerini etkinleştirmek veya devre dışı bırakmak için updateEnabledRulesets() yöntemini çağırın. Bu yöntem, etkinleştirilecek veya devre dışı bırakılacak kural kümelerinin kimlik dizilerini içeren bir UpdateRulesetOptions nesnesi alır. Kimlikler, Ruleset sözlüğünün "id" anahtarı kullanılarak tanımlanır.
Derleme kuralları
Türü ne olursa olsun, bir kural aşağıda gösterildiği gibi dört alanla başlar. "id" ve "priority" anahtarları bir sayı alırken "action" ve "condition" anahtarları birkaç engelleme ve yönlendirme koşulu sağlayabilir. Aşağıdaki kural, "foo.com" adresinden kaynaklanan ve alt dize olarak "abc" içeren tüm URL'lere yönelik komut dosyası isteklerini engeller.
{
"id" : 1,
"priority": 1,
"action" : { "type" : "block" },
"condition" : {
"urlFilter" : "abc",
"initiatorDomains" : ["foo.com"],
"resourceTypes" : ["script"]
}
}
urlFilter eşleşen karakterler
Bir kuralın "condition" anahtarı, belirtilen bir alan altındaki URL'lerde işlem yapmak için "urlFilter" anahtarına izin verir. Kalıp eşleştirme jetonlarını kullanarak kalıplar oluşturursunuz. Aşağıda birkaç örnek gösterilmiştir.
urlFilter |
Eşleşmeler | Eşleşmez |
|---|---|---|
"abc" |
https://abcd.com https://example.com/abcd |
https://ab.com |
"abc*d" |
https://abcd.com https://example.com/abcxyzd |
https://abc.com |
"||a.example.com" |
https://a.example.com/ https://b.a.example.com/xyz |
https://example.com/ |
"|https*" |
https://example.com | http://example.com/ http://https.com |
"example*^123|" |
https://example.com/123 http://abc.com/example?123 |
https://example.com/1234 https://abc.com/example0123 |
Kural önceliklendirme
Kurallar, web sayfalarından gönderilen isteklerle tetiklenir. Belirli bir istekle birden fazla kural eşleşirse kurallara öncelik verilmesi gerekir. Bu bölümde, bu kuralların nasıl önceliklendirildiği açıklanmaktadır. Önceliklendirme iki aşamada gerçekleşir.
- Öncelik, bir uzantıdaki kurallar için belirlenir.
- Birden fazla uzantı bir isteğe kural uygulayabiliyorsa belirli bir istekle eşleşen tüm uzantılar için öncelik belirlenir.
Eşleştirmeyi şu şekilde düşünebilirsiniz: Belirli bir uzantının öncelik verdiği kural, diğer uzantıların kurallarına göre öncelikli olur.
Uzantı içinde kural önceliklendirme
Tek bir uzantı içinde önceliklendirme aşağıdaki süreç kullanılarak belirlenir:
- Geliştirici tarafından tanımlanan en yüksek önceliğe (başka bir deyişle
"priority"alanı) sahip kural döndürülür. Geliştirici tarafından tanımlanan en yüksek önceliğe sahip birden fazla kural varsa kurallar,
"action"alanı kullanılarak aşağıdaki sırayla önceliklendirilir:allowallowAllRequestsblockupgradeSchemeredirect
İşlem türü
blockveyaredirectdeğilse eşleşen tümmodifyHeaderskuralları değerlendirilir. Geliştirici tarafından tanımlanan önceliğiallowveallowAllRequestsiçin belirtilen öncelikten daha düşük olan kurallar varsa bu kuralların yoksayılacağını unutmayın.Aynı üstbilgiyi birden fazla kural değiştiriyorsa değişiklik, geliştirici tarafından tanımlanan
"priority"alanına ve belirtilen işlemlere göre belirlenir.- Bir kural bir üstbilgiye ekleme yapıyorsa daha düşük öncelikli kurallar yalnızca bu üstbilgiye ekleme yapabilir. Ayar ve kaldırma işlemlerine izin verilmez.
- Bir kural bir üstbilgi ayarlarsa daha düşük öncelikli kurallar yalnızca bu üstbilgiye ekleme yapabilir. Başka bir değişikliğe izin verilmez.
- Bir kural bir üstbilgiyi kaldırırsa daha düşük öncelikli kurallar üstbilgiyi daha fazla değiştiremez.
Uzantılar arasında kural önceliklendirme
Yalnızca bir uzantıda istekle eşleşen bir kural varsa bu kural uygulanır. Ancak bir istekle birden fazla uzantı eşleşirse aşağıdaki işlem kullanılır:
Kurallar,
"action"alanı kullanılarak aşağıdaki sırayla önceliklendirilir:blockredirectveyaupgradeSchemeallowveyaallowAllRequests
Birden fazla kural eşleşirse en son yüklenen uzantı öncelik kazanır.
Kural sınırları
Kuralların tarayıcıda yüklenmesi ve değerlendirilmesi performans ek yüküne neden olur. Bu nedenle, API kullanılırken bazı sınırlamalar geçerlidir. Sınırlar, kullandığınız kuralın türüne bağlıdır.
Statik kurallar
Statik kurallar, manifest dosyasında belirtilen kural dosyalarında tanımlanan kurallardır. Bir uzantı, "rule_resources" manifest anahtarının bir parçası olarak en fazla 50 statik kural kümesi belirtebilir ancak bu kural kümelerinden aynı anda yalnızca 10'u etkinleştirilebilir. İkincisine MAX_NUMBER_OF_ENABLED_STATIC_RULESETS denir. Bu kural kümeleri için toplamda en az 30.000 kural garanti edilir. Buna GUARANTEED_MINIMUM_STATIC_RULES denir.
Bu sayıdan sonra kullanılabilecek kural sayısı, kullanıcının tarayıcısına yüklenen tüm uzantılar tarafından etkinleştirilen kural sayısına bağlıdır. Bu numarayı, çalışma zamanında getAvailableStaticRuleCount() yöntemini çağırarak bulabilirsiniz. Kod örnekleri bölümünde bunun bir örneğini görebilirsiniz.
Dinamik kurallar ve oturum kuralları
Dinamik ve oturum kurallarına uygulanan sınırlar, statik kurallara kıyasla daha basittir. İkisinin toplam sayısı 5.000'i aşamaz. Buna MAX_NUMBER_OF_DYNAMIC_AND_SESSION_RULES denir.
Normal ifade kullanan kurallar
Tüm kural türleri normal ifadeleri kullanabilir ancak her türdeki normal ifade kurallarının toplam sayısı 1.000'i aşamaz. Buna MAX_NUMBER_OF_REGEX_RULES denir.
Ayrıca, her kural derlendikten sonra 2 KB'tan küçük olmalıdır. Bu süre, kuralın karmaşıklığıyla kabaca ilişkilidir. Bu sınırı aşan bir kural yüklemeye çalışırsanız aşağıdaki gibi bir uyarı görürsünüz ve kural yok sayılır.
rules_1.json: Rule with id 1 specified a more complex regex than allowed
as part of the "regexFilter" key.
Hizmet çalışanlarıyla etkileşimler
declarativeNetRequest yalnızca ağ yığınına ulaşan istekler için geçerlidir. Buna HTTP önbelleğinden gelen yanıtlar dahildir ancak hizmet çalışanının onfetch işleyicisinden geçen yanıtlar dahil olmayabilir. declarativeNetRequest, hizmet çalışanı tarafından oluşturulan veya CacheStorage adresinden alınan yanıtları etkilemez ancak hizmet çalışanında yapılan fetch() çağrılarını etkiler.
Web'den erişilebilen kaynaklar
declarativeNetRequest kuralı, herkese açık bir kaynak isteğini web'den erişilemeyen bir kaynağa yönlendiremez. Bunu yaparsanız hata tetiklenir. Bu durum, belirtilen web'den erişilebilir kaynağın sahibi yönlendiren uzantı olsa bile geçerlidir. declarativeNetRequest için kaynakları bildirmek üzere manifest'in "web_accessible_resources" dizisini kullanın.
Örnekler
Kod örnekleri
Dinamik kuralları güncelleme
Aşağıdaki örnekte updateDynamicRules() yönteminin nasıl çağrılacağı gösterilmektedir. updateSessionRules() için de aynı prosedür geçerlidir.
// Get arrays containing new and old rules
const newRules = await getNewRules();
const oldRules = await chrome.declarativeNetRequest.getDynamicRules();
const oldRuleIds = oldRules.map(rule => rule.id);
// Use the arrays to update the dynamic rules
await chrome.declarativeNetRequest.updateDynamicRules({
removeRuleIds: oldRuleIds,
addRules: newRules
});
Statik kural kümelerini güncelleme
Aşağıdaki örnekte, kullanılabilir statik kural kümelerinin sayısını ve etkinleştirilen statik kural kümelerinin maksimum sayısını dikkate alarak kural kümelerinin nasıl etkinleştirileceği ve devre dışı bırakılacağı gösterilmektedir. İhtiyacınız olan statik kural sayısı, izin verilen sayıyı aştığında bu işlemi yaparsınız. Bunun çalışması için kural gruplarınızdan bazılarının devre dışı bırakılmış kural gruplarınızdan bazılarıyla yüklenmesi gerekir (manifest dosyasında "Enabled", false olarak ayarlanır).
async function updateStaticRules(enableRulesetIds, disableCandidateIds) {
// Create the options structure for the call to updateEnabledRulesets()
let options = { enableRulesetIds: enableRulesetIds }
// Get the number of enabled static rules
const enabledStaticCount = await chrome.declarativeNetRequest.getEnabledRulesets();
// Compare rule counts to determine if anything needs to be disabled so that
// new rules can be enabled
const proposedCount = enableRulesetIds.length;
if (enabledStaticCount + proposedCount > chrome.declarativeNetRequest.MAX_NUMBER_OF_ENABLED_STATIC_RULESETS) {
options.disableRulesetIds = disableCandidateIds
}
// Update the enabled static rules
await chrome.declarativeNetRequest.updateEnabledRulesets(options);
}
Kural örnekleri
Aşağıdaki örneklerde, Chrome'un bir uzantıdaki kurallara nasıl öncelik verdiği gösterilmektedir. Bunları incelerken önceliklendirme kurallarını ayrı bir pencerede açmak isteyebilirsiniz.
"priority" anahtarı
Bu örnekler için *://*.example.com/* adresine ana makine izni gerekir.
Belirli bir URL'nin önceliğini belirlemek için (geliştirici tarafından tanımlanan) "priority" anahtarına, "action" anahtarına ve "urlFilter" anahtarına bakın. Bu örnekler, altlarında gösterilen örnek kural dosyasına atıfta bulunur.
- https://google.com adresine gitme
- Bu URL'yi iki kural kapsar: 1 ve 4 kimlikli kurallar.
"block"işlemleri"redirect"işlemlerinden daha yüksek önceliğe sahip olduğundan 1 kimlikli kural uygulanır. Kalan kurallar daha uzun URL'ler için olduğundan geçerli değildir. - https://google.com/1234 adresine gitme
- URL daha uzun olduğu için artık 1 ve 4 kimlikli kuralların yanı sıra 2 kimlikli kural da eşleşir.
"allow","block"ve"redirect"'den daha yüksek önceliğe sahip olduğundan 2 kimlikli kural uygulanır. - https://google.com/12345 adresine gitme
- Dört kuralın tümü bu URL ile eşleşiyor. Geliştirici tarafından tanımlanan önceliği gruptaki en yüksek öncelik olduğundan 3 kimlikli kural uygulanır.
[
{
"id": 1,
"priority": 1,
"action": { "type": "block" },
"condition": {"urlFilter": "google.com", "resourceTypes": ["main_frame"] }
},
{
"id": 2,
"priority": 1,
"action": { "type": "allow" },
"condition": { "urlFilter": "google.com/123", "resourceTypes": ["main_frame"] }
},
{
"id": 3,
"priority": 2,
"action": { "type": "block" },
"condition": { "urlFilter": "google.com/12345", "resourceTypes": ["main_frame"] }
},
{
"id": 4,
"priority": 1,
"action": { "type": "redirect", "redirect": { "url": "https://example.com" } },
"condition": { "urlFilter": "google.com", "resourceTypes": ["main_frame"] }
},
]
Yönlendirmeler
Aşağıdaki örnekte *://*.example.com/* için ana makine izni gerekir.
Aşağıdaki örnekte, example.com'dan gelen bir isteğin uzantının kendi içindeki bir sayfaya nasıl yönlendirileceği gösterilmektedir. /a.jpg uzantı yolu, chrome-extension://EXTENSION_ID/a.jpg olarak çözümlenir. Burada EXTENSION_ID, uzantınızın kimliğidir. Bunun çalışması için manifest, /a.jpg öğesini web'den erişilebilir kaynak olarak beyan etmelidir.
{
"id": 1,
"priority": 1,
"action": { "type": "redirect", "redirect": { "extensionPath": "/a.jpg" } },
"condition": {
"urlFilter": "https://www.example.com",
"resourceTypes": ["main_frame"]
}
}
Aşağıdaki örnekte, example.com'un bir alt alan adına yönlendirme yapmak için "transform" anahtarı kullanılmaktadır. example.com'dan gelen tüm şemalara sahip istekleri yakalamak için bir alan adı sabitleyici ("||") kullanılır. "transform" içindeki "scheme" anahtarı, alt alan adına yönlendirmelerin her zaman "https" kullanacağını belirtir.
{
"id": 1,
"priority": 1,
"action": {
"type": "redirect",
"redirect": {
"transform": { "scheme": "https", "host": "new.example.com" }
}
},
"condition": {
"urlFilter": "||example.com",
"resourceTypes": ["main_frame"]
}
}
Aşağıdaki örnekte, https://www.abc.xyz.com/path adresinden https://abc.xyz.com/path adresine yönlendirme yapmak için normal ifadeler kullanılmaktadır. "regexFilter" anahtarında, noktaların nasıl kaçış karakteriyle kullanıldığına ve yakalama grubunun "abc" veya "def"i seçtiğine dikkat edin. "regexSubstitution" anahtarı, "\1" kullanarak normal ifadenin döndürülen ilk eşleşmesini belirtir. Bu durumda, "abc" yönlendirilen URL'den alınır ve ikameye yerleştirilir.
{
"id": 1,
"priority": 1,
"action": {
"type": "redirect",
"redirect": {
"regexSubstitution": "https://\\1.xyz.com/"
}
},
"condition": {
"regexFilter": "^https://www\\.(abc|def)\\.xyz\\.com/",
"resourceTypes": [
"main_frame"
]
}
}
Üst bilgiler
Aşağıdaki örnekte, hem ana çerçevedeki hem de alt çerçevelerdeki tüm çerezler kaldırılmaktadır.
{
"id": 1,
"priority": 1,
"action": {
"type": "modifyHeaders",
"requestHeaders": [{ "header": "cookie", "operation": "remove" }]
},
"condition": { "resourceTypes": ["main_frame", "sub_frame"] }
}
Türler
DomainType
Bu, isteğin kaynaklandığı çerçeve için birinci taraf mı yoksa üçüncü taraf mı olduğunu açıklar. Bir istek, isteğin kaynaklandığı çerçeveyle aynı alana (eTLD+1) sahipse birinci taraf olarak kabul edilir.
Enum
"firstParty"
Ağ isteği, kaynaklandığı çerçeve için birinci taraftır.
"thirdParty"
Ağ isteği, kaynaklandığı çerçeveye göre üçüncü taraftır.
ExtensionActionOptions
Özellikler
-
displayActionCountAsBadgeText
boole isteğe bağlı
Bir sayfanın işlem sayısının, uzantının rozet metni olarak otomatik olarak gösterilip gösterilmeyeceğini belirler. Bu tercih, oturumlar arasında kalıcıdır.
-
tabUpdate
TabActionCountUpdate isteğe bağlı
Chrome 89 ve sonraki sürümlerSekmenin işlem sayısının nasıl ayarlanması gerektiğiyle ilgili ayrıntılar.
GetDisabledRuleIdsOptions
Özellikler
-
rulesetId
dize
Statik bir
Ruleset'e karşılık gelen kimlik.
GetRulesFilter
Özellikler
-
ruleIds
number[] isteğe bağlı
Belirtilirse yalnızca eşleşen kimliklere sahip kurallar dahil edilir.
HeaderInfo
Özellikler
-
excludedValues
string[] isteğe bağlı
Belirtilirse başlık mevcutsa ancak değeri bu listede en az bir öğe içeriyorsa bu koşul eşleşmez. Bu,
valuesile aynı eşleşme kalıbı söz dizimini kullanır. -
başlık
dize
Üstbilginin adı. Bu koşul, yalnızca
valuesveexcludedValuesbelirtilmemişse adla eşleşir. -
values
string[] isteğe bağlı
Belirtilirse bu koşul, üstbilginin değeri bu listedeki en az bir kalıpla eşleştiğinde karşılanır. Bu, büyük/küçük harfe duyarlı olmayan üstbilgi değeri eşleşmesini ve aşağıdaki yapıları destekler:
"*" : Herhangi bir sayıda karakterle eşleşir.
"?" : Sıfır veya bir karakterle eşleşir.
"*" ve "?" karakterleri ters eğik çizgiyle (ör. "\*" ve "\?") kullanılabilir.
HeaderOperation
Bu, "modifyHeaders" kuralı için olası işlemleri açıklar.
Enum
"append"
Belirtilen üstbilgi için yeni bir giriş ekler. Bir isteğin üstbilgileri değiştirilirken bu işlem yalnızca belirli üstbilgiler için desteklenir.
"set"
Belirtilen üstbilgi için yeni bir değer ayarlar ve aynı ada sahip mevcut üstbilgileri kaldırır.
"remove"
Belirtilen üstbilgi için tüm girişleri kaldırır.
IsRegexSupportedResult
Özellikler
-
isSupported
boole
-
neden
UnsupportedRegexReason isteğe bağlı
Normal ifadenin neden desteklenmediğini belirtir. Yalnızca
isSupporteddeğeri yanlışsa sağlanır.
MatchedRule
Özellikler
-
ruleId
sayı
Eşleşen kuralın kimliği.
-
rulesetId
dize
Bu kuralın ait olduğu
Rulesetkimliği. Dinamik kural grubundan kaynaklanan bir kural için bu değerDYNAMIC_RULESET_IDdeğerine eşit olur.
MatchedRuleInfo
Özellikler
-
kural
-
tabId
sayı
Sekme hâlâ etkinse isteğin kaynaklandığı sekmenin tabId değeri. Aksi takdirde -1.
-
timeStamp
sayı
Kuralın eşleştiği zaman. Zaman damgaları, zamanlar için JavaScript kuralına (yani epoch'tan bu yana geçen milisaniye sayısı) karşılık gelir.
MatchedRuleInfoDebug
Özellikler
-
istek
Kuralın eşleştiği istekle ilgili ayrıntılar.
-
kural
MatchedRulesFilter
Özellikler
-
minTimeStamp
number isteğe bağlı
Belirtilirse yalnızca belirtilen zaman damgasından sonraki kurallarla eşleşir.
-
tabId
number isteğe bağlı
Belirtilirse yalnızca belirli sekme için kurallarla eşleşir. -1 olarak ayarlanırsa etkin sekmelerle ilişkili olmayan kurallarla eşleşir.
ModifyHeaderInfo
Özellikler
-
başlık
dize
Değiştirilecek üstbilginin adı.
-
işlem
Üstbilgide gerçekleştirilecek işlem.
-
value
string isteğe bağlı
Üstbilginin yeni değeri.
appendvesetişlemleri için belirtilmelidir.
QueryKeyValue
Özellikler
-
anahtar
dize
-
replaceOnly
boole isteğe bağlı
Chrome 94+Doğru değerine ayarlanırsa sorgu anahtarı yalnızca mevcutsa değiştirilir. Aksi takdirde, anahtar eksikse de eklenir. Varsayılan olarak "false" (yanlış) değerine ayarlıdır.
-
value
dize
QueryTransform
Özellikler
-
addOrReplaceParams
QueryKeyValue[] isteğe bağlı
Eklenecek veya değiştirilecek sorgu anahtar/değer çiftlerinin listesi.
-
removeParams
string[] isteğe bağlı
Kaldırılacak sorgu anahtarlarının listesi.
Redirect
Özellikler
-
extensionPath
string isteğe bağlı
Uzantı dizinine göre yol. "/" ile başlamalıdır.
-
regexSubstitution
string isteğe bağlı
regexFilterbelirten kurallar için değiştirme kalıbı. URL'deki ilkregexFiltereşleşmesi bu kalıpla değiştirilir.regexSubstitutioniçinde, karşılık gelen yakalama gruplarını eklemek için ters eğik çizgiyle kodlanmış rakamlar (\1 - \9) kullanılabilir. \0, eşleşen metnin tamamını ifade eder. -
transform
URLTransform isteğe bağlı
Gerçekleştirilecek URL dönüşümleri.
-
url
string isteğe bağlı
Yönlendirme URL'si. JavaScript URL'lerine yönlendirmelere izin verilmez.
RegexOptions
Özellikler
-
isCaseSensitive
boole isteğe bağlı
Belirtilen
regexdeğerinin büyük/küçük harfe duyarlı olup olmadığı. Varsayılan değer true'dur. -
normal ifade : regex
dize
Kontrol edilecek normal ifade.
-
requireCapturing
boole isteğe bağlı
Belirtilen
regexiçin yakalama gerekip gerekmediği. Yakalama, yalnızcaregexSubstitionişlemi belirten yönlendirme kuralları için gereklidir. Varsayılan değer "false"dur.
RequestDetails
Özellikler
-
documentId
string isteğe bağlı
Chrome 106+Bu istek bir çerçeve içinse çerçevenin dokümanının benzersiz tanımlayıcısı.
-
documentLifecycle
DocumentLifecycle isteğe bağlı
Chrome 106+Bu istek bir çerçeve içinse çerçevenin dokümanının yaşam döngüsü.
-
frameId
sayı
0 değeri, isteğin ana çerçevede gerçekleştiğini gösterir. Pozitif bir değer, isteğin gerçekleştiği alt çerçevenin kimliğini gösterir. Bir (alt) çerçevenin dokümanı yüklüyse (
type,main_frameveyasub_frameise)frameId, dış çerçevenin kimliğini değil, bu çerçevenin kimliğini gösterir. Kare kimlikleri bir sekme içinde benzersizdir. -
frameType
FrameType isteğe bağlı
Chrome 106+Bu istek bir çerçeve içinse çerçevenin türü.
-
başlatan
string isteğe bağlı
İsteğin başlatıldığı kaynak. Bu durum, yönlendirmelerle değişmez. Bu, opak bir kaynaksa "null" dizesi kullanılır.
-
method
dize
Standart HTTP yöntemi.
-
parentDocumentId
string isteğe bağlı
Chrome 106+Bu istek bir çerçeve içinse ve bir üst öğesi varsa çerçevenin üst dokümanının benzersiz tanımlayıcısı.
-
parentFrameId
sayı
İsteği gönderen çerçeveyi sarmalayan çerçevenin kimliği. Üst çerçeve yoksa -1 olarak ayarlanır.
-
requestId
dize
İsteğin kimliği. İstek kimlikleri, tarayıcı oturumunda benzersizdir.
-
tabId
sayı
İsteğin gerçekleştiği sekmenin kimliği. İstek bir sekmeyle ilgili değilse -1 olarak ayarlanır.
-
tür
İsteğin kaynak türü.
-
url
dize
İsteğin URL'si.
RequestMethod
Bu, bir ağ isteğinin HTTP istek yöntemini açıklar.
Enum
"connect"
"delete"
"get"
"head"
"options"
"patch"
"post"
"put"
"diğer"
ResourceType
Bu, ağ isteğinin kaynak türünü açıklar.
Enum
"main_frame"
"sub_frame"
"stylesheet"
"script"
"image"
"font"
"object"
"xmlhttprequest"
"ping"
"csp_report"
"media"
"websocket"
"webtransport"
"webbundle"
"diğer"
Rule
Özellikler
-
işlem
Bu kural eşleşirse yapılacak işlem.
-
koşul
Bu kuralın tetiklendiği koşul.
-
id
sayı
Bir kuralı benzersiz şekilde tanımlayan kimlik. Zorunludur ve >= 1 olmalıdır.
-
önceliği
number isteğe bağlı
Kural önceliği. Varsayılan olarak 1 değerine ayarlanır. Belirtildiğinde >= 1 olmalıdır.
RuleAction
Özellikler
-
yönlendir
Yönlendirme isteğe bağlı
Yönlendirmenin nasıl gerçekleştirileceğini açıklar. Yalnızca yönlendirme kuralları için geçerlidir.
-
requestHeaders
ModifyHeaderInfo[] isteğe bağlı
Chrome 86 ve sonraki sürümlerİstek için değiştirilecek istek başlıkları. Yalnızca RuleActionType "modifyHeaders" ise geçerlidir.
-
responseHeaders
ModifyHeaderInfo[] isteğe bağlı
Chrome 86 ve sonraki sürümlerİstek için değiştirilecek yanıt başlıkları. Yalnızca RuleActionType "modifyHeaders" ise geçerlidir.
-
tür
Gerçekleştirilecek işlemin türü.
RuleActionType
Belirli bir RuleCondition eşleşirse yapılacak işlem türünü açıklar.
Enum
"block"
Ağ isteğini engeller.
"redirect"
Ağ isteğini yönlendirin.
"allow"
Ağ isteğine izin verin. İstek, kendisiyle eşleşen bir izin verme kuralı varsa engellenmez.
"upgradeScheme"
İstek http veya ftp ise ağ isteği URL'sinin şemasını https'ye yükseltin.
"modifyHeaders"
Ağ isteğindeki istek/yanıt başlıklarını değiştirin.
"allowAllRequests"
Çerçeve isteğinin kendisi de dahil olmak üzere bir çerçeve hiyerarşisindeki tüm isteklere izin verilir.
RuleCondition
Özellikler
-
domainType
DomainType isteğe bağlı
Ağ isteğinin, kaynaklandığı alan için birinci taraf mı yoksa üçüncü taraf mı olduğunu belirtir. Atlanırsa tüm istekler kabul edilir.
-
alan adları
string[] isteğe bağlı
Chrome 101'den itibaren desteği sonlandırıldıBunun yerine
initiatorDomainskullanınKural yalnızca
domainslistesinden kaynaklanan ağ istekleriyle eşleşir. -
excludedDomains
string[] isteğe bağlı
Chrome 101'den itibaren desteği sonlandırıldıBunun yerine
excludedInitiatorDomainskullanınKural,
excludedDomainslistesinden kaynaklanan ağ istekleriyle eşleşmez. -
excludedInitiatorDomains
string[] isteğe bağlı
Chrome 101+Kural,
excludedInitiatorDomainslistesinden kaynaklanan ağ istekleriyle eşleşmez. Liste boşsa veya atlanırsa hiçbir alan hariç tutulmaz. Bu,initiatorDomainspolitikasına göre daha önceliklidir.Notlar:
- "a.example.com" gibi alt alan adlarına da izin verilir.
- Girişler yalnızca ASCII karakterlerinden oluşmalıdır.
- Uluslararası alan adları için Punycode kodlaması kullanın.
- Bu, istek URL'siyle değil, isteği başlatanla eşleşir.
- Listelenen alan adlarının alt alan adları da hariç tutulur.
-
excludedRequestDomains
string[] isteğe bağlı
Chrome 101+Alan adları
excludedRequestDomainslistesindeki bir alan adıyla eşleştiğinde kural, ağ istekleriyle eşleşmez. Liste boşsa veya atlanırsa hiçbir alan hariç tutulmaz. Bu,requestDomainspolitikasına göre daha önceliklidir.Notlar:
- "a.example.com" gibi alt alan adlarına da izin verilir.
- Girişler yalnızca ASCII karakterlerinden oluşmalıdır.
- Uluslararası alan adları için Punycode kodlaması kullanın.
- Listelenen alan adlarının alt alan adları da hariç tutulur.
-
excludedRequestMethods
RequestMethod[] isteğe bağlı
Chrome 91 ve sonraki sürümlerKuralın eşleşmeyeceği istek yöntemlerinin listesi.
requestMethodsveexcludedRequestMethodsözelliklerinden yalnızca biri belirtilmelidir. Hiçbiri belirtilmezse tüm istek yöntemleri eşleştirilir. -
excludedResourceTypes
ResourceType[] isteğe bağlı
Kuralın eşleşmeyeceği kaynak türlerinin listesi.
resourceTypesveexcludedResourceTypesözelliklerinden yalnızca biri belirtilmelidir. İkisi de belirtilmezse "main_frame" dışındaki tüm kaynak türleri engellenir. -
excludedResponseHeaders
HeaderInfo[] isteğe bağlı
Chrome 128+İstek, bu listedeki herhangi bir yanıt başlığı koşuluyla eşleşirse (belirtilmişse) kural eşleşmez. Hem
excludedResponseHeadershem deresponseHeadersbelirtilirseexcludedResponseHeadersözelliği öncelikli olur. -
excludedTabIds
number[] isteğe bağlı
Chrome 92+Kuralın eşleşmemesi gereken
tabs.Tab.idlistesi.tabs.TAB_ID_NONEkimliği, bir sekmeden kaynaklanmayan istekleri hariç tutar. Yalnızca oturum kapsamlı kurallar için desteklenir. -
excludedTopDomains
string[] isteğe bağlı
Chrome 145+İlişkili üst düzey çerçevenin alanı,
excludedTopDomainslistesindeki bir alanla eşleştiğinde kural, ağ istekleriyle eşleşmez. Liste boşsa veya atlanırsa hiçbir alan hariç tutulmaz. Bu,topDomainspolitikasına göre daha önceliklidir.Notlar:
- "a.example.com" gibi alt alan adlarına da izin verilir.
- Girişler yalnızca ASCII karakterlerinden oluşmalıdır.
- Uluslararası alan adları için Punycode kodlaması kullanın.
- Listelenen alan adlarının alt alan adları da hariç tutulur.
- İlişkili üst düzey çerçevesi olmayan isteklerde (ör. ServiceWorker tarafından başlatılan istekler) istek başlatıcının alanı dikkate alınır.
-
initiatorDomains
string[] isteğe bağlı
Chrome 101+Kural yalnızca
initiatorDomainslistesinden kaynaklanan ağ istekleriyle eşleşir. Liste atlanırsa kural tüm alanlardan gelen isteklere uygulanır. Boş listeye izin verilmez.Notlar:
- "a.example.com" gibi alt alan adlarına da izin verilir.
- Girişler yalnızca ASCII karakterlerinden oluşmalıdır.
- Uluslararası alan adları için Punycode kodlaması kullanın.
- Bu, istek URL'siyle değil, isteği başlatanla eşleşir.
- Listelenen alan adlarının alt alan adları da eşleştirilir.
-
isUrlFilterCaseSensitive
boole isteğe bağlı
urlFilterveyaregexFilter(hangisi belirtilmişse) büyük/küçük harfe duyarlı olup olmadığı. Varsayılan değer "false"dur. -
regexFilter
string isteğe bağlı
Ağ isteği URL'siyle eşleşecek normal ifade. Bu, RE2 söz dizimine uyar.
Not:
urlFilterveyaregexFilterdeğerlerinden yalnızca biri belirtilebilir.Not:
regexFilteryalnızca ASCII karakterlerden oluşmalıdır. Bu, ana makinenin punycode biçiminde kodlandığı (uluslararası alan adları söz konusu olduğunda) ve ASCII olmayan diğer tüm karakterlerin UTF-8 biçiminde URL olarak kodlandığı bir URL ile eşleştirilir. -
requestDomains
string[] isteğe bağlı
Chrome 101+Kural, yalnızca alan adı
requestDomainslistesindeki bir alan adıyla eşleştiğinde ağ istekleriyle eşleşir. Liste atlanırsa kural tüm alanlardan gelen isteklere uygulanır. Boş listeye izin verilmez.Notlar:
- "a.example.com" gibi alt alan adlarına da izin verilir.
- Girişler yalnızca ASCII karakterlerinden oluşmalıdır.
- Uluslararası alan adları için Punycode kodlaması kullanın.
- Listelenen alan adlarının alt alan adları da eşleştirilir.
-
requestMethods
RequestMethod[] isteğe bağlı
Chrome 91 ve sonraki sürümlerKuralın eşleşebileceği HTTP istek yöntemlerinin listesi. Boş listeye izin verilmez.
Not:
requestMethodskural koşulunun belirtilmesi, HTTP(s) olmayan istekleri de hariç tutar.excludedRequestMethodsbelirtildiğinde ise bu istekler hariç tutulmaz. -
resourceTypes
ResourceType[] isteğe bağlı
Kuralın eşleşebileceği kaynak türlerinin listesi. Boş listeye izin verilmez.
Not: Bu,
allowAllRequestskuralları için belirtilmelidir ve yalnızcasub_framevemain_framekaynak türlerini içerebilir. -
responseHeaders
HeaderInfo[] isteğe bağlı
Chrome 128+İstek, bu listedeki herhangi bir yanıt başlığı koşuluyla eşleşirse (belirtilmişse) kural eşleşir.
-
tabIds
number[] isteğe bağlı
Chrome 92+Kuralın eşleşmesi gereken
tabs.Tab.idlistesi.tabs.TAB_ID_NONEkimliği, bir sekmeden kaynaklanmayan isteklerle eşleşir. Boş listeye izin verilmez. Yalnızca oturum kapsamlı kurallar için desteklenir. -
topDomains
string[] isteğe bağlı
Chrome 145+Kural, yalnızca ilişkili üst düzey çerçevenin alanı
topDomainslistesindeki bir alanla eşleştiğinde ağ istekleriyle eşleşir. Liste atlanırsa kural, tüm üst düzey çerçeve alanlarıyla ilişkili isteklere uygulanır. Boş listeye izin verilmez.Notlar:
- "a.example.com" gibi alt alan adlarına da izin verilir.
- Girişler yalnızca ASCII karakterlerinden oluşmalıdır.
- Uluslararası alan adları için Punycode kodlaması kullanın.
- Listelenen alan adlarının alt alan adları da eşleştirilir.
- İlişkili üst düzey çerçevesi olmayan isteklerde (ör. ServiceWorker tarafından başlatılan istekler) istek başlatıcının alanı dikkate alınır.
-
urlFilter
string isteğe bağlı
Ağ isteği URL'siyle eşleştirilen kalıp. Desteklenen yapılar:
"*" : Joker karakter: Herhangi bir sayıda karakterle eşleşir.
"|" : Sol/sağ sabitleyici: Kalıbın her iki ucunda da kullanılıyorsa sırasıyla URL'nin başlangıcını/sonunu belirtir.
'||' : Alan adı sabitleyici: Kalıbın başında kullanıldığında URL'nin (alt) alan adının başlangıcını belirtir.
'^' : Ayırıcı karakter: Harf, rakam veya şunlardan biri hariç her şeyle eşleşir:
_,-,.veya%. Bu, URL'nin sonuyla da eşleşir.Bu nedenle
urlFilterşu bölümlerden oluşur: (isteğe bağlı Sol/Alan adı sabitleyici) + kalıp + (isteğe bağlı Sağ sabitleyici).Atlanırsa tüm URL'ler eşleştirilir. Boş dizeye izin verilmez.
||*ile başlayan kalıplara izin verilmez. Bunun yerine*politikasını kullanın.Not:
urlFilterveyaregexFilterdeğerlerinden yalnızca biri belirtilebilir.Not:
urlFilteryalnızca ASCII karakterlerden oluşmalıdır. Bu, ana makinenin punycode biçiminde kodlandığı (uluslararası alan adları söz konusu olduğunda) ve ASCII olmayan diğer tüm karakterlerin UTF-8 biçiminde URL olarak kodlandığı bir URL ile eşleştirilir. Örneğin, istek URL'si http://abc.рф?q=ф olduğundaurlFilter, http://abc.xn--p1ai/?q=%D1%84 URL'si ile eşleştirilir.
RuleConditionKeys
Enum
"urlFilter"
"regexFilter"
"isUrlFilterCaseSensitive"
"initiatorDomains"
"excludedInitiatorDomains"
"requestDomains"
"excludedRequestDomains"
"topDomains"
"excludedTopDomains"
"domains"
"excludedDomains"
"resourceTypes"
"excludedResourceTypes"
"requestMethods"
"excludedRequestMethods"
"domainType"
"tabIds"
"excludedTabIds"
"responseHeaders"
"excludedResponseHeaders"
Ruleset
Özellikler
-
etkin
boole
Kural grubunun varsayılan olarak etkin olup olmadığı.
-
id
dize
Kural grubunu benzersiz şekilde tanımlayan, boş olmayan bir dize. "_" ile başlayan kimlikler dahili kullanım için ayrılmıştır.
-
yol
dize
JSON kural kümesinin uzantı dizinine göre yolu.
RulesMatchedDetails
Özellikler
-
rulesMatchedInfo
Belirtilen filtreyle eşleşen kurallar.
TabActionCountUpdate
Özellikler
-
artır
sayı
Sekmenin işlem sayısının artırılacağı miktar. Negatif değerler sayıyı azaltır.
-
tabId
sayı
İşlem sayısının güncelleneceği sekme.
TestMatchOutcomeResult
Özellikler
-
matchedRules
Varsayımsal istekle eşleşen kurallar (varsa).
TestMatchRequestDetails
Özellikler
-
başlatan
string isteğe bağlı
Varsayımsal istek için başlatıcı URL'si (varsa).
-
method
RequestMethod isteğe bağlı
Varsayımsal isteğin standart HTTP yöntemi. HTTP istekleri için varsayılan olarak "get" değerine ayarlanır ve HTTP olmayan istekler için yoksayılır.
-
responseHeaders
isteğe bağlı nesne
Chrome 129 ve sonraki sürümlerİstek, gönderilmeden önce engellenmez veya yönlendirilmezse varsayımsal bir yanıt tarafından sağlanan başlıklar. Bir başlık adını dize değerleri listesiyle eşleyen bir nesne olarak temsil edilir. Belirtilmezse varsayımsal yanıt, boş yanıt başlıkları döndürür. Bu başlıklar, başlıkların mevcut olmamasıyla eşleşen kurallarla eşleşebilir. Ör.
{"content-type": ["text/html; charset=utf-8", "multipart/form-data"]} -
tabId
number isteğe bağlı
Varsayımsal isteğin gerçekleştiği sekmenin kimliği. Gerçek bir sekme kimliğiyle eşleşmesi gerekmez. Varsayılan değer -1'dir. Bu, isteğin bir sekmeyle ilgili olmadığı anlamına gelir.
-
topUrl
string isteğe bağlı
Chrome 145+İstek için ilişkili üst düzey çerçeve URL'si (varsa).
-
tür
Varsayımsal isteğin kaynak türü.
-
url
dize
Varsayımsal isteğin URL'si.
UnsupportedRegexReason
Belirli bir normal ifadenin neden desteklenmediğini açıklar.
Enum
"syntaxError"
Normal ifade, söz dizimi açısından hatalı veya RE2 söz diziminde bulunmayan özellikleri kullanıyor.
"memoryLimitExceeded"
Normal ifade, bellek sınırını aşıyor.
UpdateRuleOptions
Özellikler
-
addRules
Rule[] isteğe bağlı
Eklenecek kurallar.
-
removeRuleIds
number[] isteğe bağlı
Kaldırılacak kuralların kimlikleri. Geçersiz kimlikler yoksayılır.
UpdateRulesetOptions
Özellikler
UpdateStaticRulesOptions
Özellikler
URLTransform
Özellikler
-
parça
string isteğe bağlı
İstek için yeni parça. Boş olmalıdır (bu durumda mevcut parça temizlenir) veya "#" ile başlamalıdır.
-
düzenleyen
string isteğe bağlı
İstek için yeni ana makine.
-
şifre
string isteğe bağlı
İstek için yeni şifre.
-
yol
string isteğe bağlı
İsteğin yeni yolu. Boşsa mevcut yol temizlenir.
-
bağlantı noktası
string isteğe bağlı
İstek için yeni bağlantı noktası. Boş bırakılırsa mevcut bağlantı noktası temizlenir.
-
sorgu
string isteğe bağlı
İstek için yeni sorgu. Boş olmalıdır (bu durumda mevcut sorgu temizlenir) veya "?" ile başlamalıdır.
-
queryTransform
QueryTransform isteğe bağlı
Sorgu anahtar/değer çiftlerini ekleyin, kaldırın veya değiştirin.
-
şema
string isteğe bağlı
İstek için yeni şema. İzin verilen değerler "http", "https", "ftp" ve "chrome-extension"dır.
-
kullanıcı adı
string isteğe bağlı
İstek için yeni kullanıcı adı.
Özellikler
DYNAMIC_RULESET_ID
Uzantı tarafından eklenen dinamik kuralların kural kümesi kimliği.
Değer
"_dynamic"
GETMATCHEDRULES_QUOTA_INTERVAL
MAX_GETMATCHEDRULES_CALLS_PER_INTERVAL getMatchedRules aramalarının yapılabileceği zaman aralığı (dakika cinsinden belirtilir). Ek çağrılar hemen başarısız olur ve runtime.lastError değerini ayarlar. Not: Kullanıcı hareketiyle ilişkili getMatchedRules çağrıları kotadan muaftır.
Değer
10
GUARANTEED_MINIMUM_STATIC_RULES
Bir uzantının etkin statik kural kümelerinde garanti edilen minimum statik kural sayısı. Bu sınırın üzerindeki kurallar, genel statik kural sınırına dahil edilir.
Değer
30000
MAX_GETMATCHEDRULES_CALLS_PER_INTERVAL
getMatchedRules, GETMATCHEDRULES_QUOTA_INTERVAL içinde en fazla bu kadar kez çağrılabilir.
Değer
20
MAX_NUMBER_OF_DYNAMIC_RULES
Bir uzantının ekleyebileceği maksimum dinamik kural sayısı.
Değer
30000
MAX_NUMBER_OF_ENABLED_STATIC_RULESETS
Bir uzantının aynı anda etkinleştirebileceği maksimum statik Rulesets sayısı.
Değer
50
MAX_NUMBER_OF_REGEX_RULES
Bir uzantının ekleyebileceği maksimum normal ifade kuralı sayısı. Bu sınır, dinamik kural grubu ve kural kaynakları dosyasında belirtilenler için ayrı ayrı değerlendirilir.
Değer
1000
MAX_NUMBER_OF_SESSION_RULES
Bir uzantının ekleyebileceği oturum kapsamlı kuralların maksimum sayısı.
Değer
5000
MAX_NUMBER_OF_STATIC_RULESETS
Bir uzantının "rule_resources" manifest anahtarının bir parçası olarak belirtebileceği maksimum statik Rulesets sayısı.
Değer
100
MAX_NUMBER_OF_UNSAFE_DYNAMIC_RULES
Bir uzantının ekleyebileceği maksimum "güvenli olmayan" dinamik kural sayısı.
Değer
5000
MAX_NUMBER_OF_UNSAFE_SESSION_RULES
Bir uzantının ekleyebileceği "güvenli olmayan" oturum kapsamlı kuralların maksimum sayısı.
Değer
5000
SESSION_RULESET_ID
Uzantı tarafından eklenen oturum kapsamlı kuralların kural grubu kimliği.
Değer
"_session"
Yöntemler
getAvailableStaticRuleCount()
chrome.declarativeNetRequest.getAvailableStaticRuleCount(
callback?: function,
): Promise<number>
Bir uzantının genel statik kural sınırına ulaşmadan önce etkinleştirebileceği statik kural sayısını döndürür.
Parametreler
-
callback
function isteğe bağlı
callbackparametresi şu şekilde görünür:(count: number) => void
-
sayı
sayı
-
İadeler
-
Promise<number>
Chrome 91 ve sonraki sürümlerPromise'ler yalnızca Manifest V3 ve sonraki sürümlerde desteklenir. Diğer platformların geri çağırma işlevlerini kullanması gerekir.
getDisabledRuleIds()
chrome.declarativeNetRequest.getDisabledRuleIds(
options: GetDisabledRuleIdsOptions,
callback?: function,
): Promise<number[]>
Belirtilen Ruleset içinde şu anda devre dışı olan statik kuralların listesini döndürür.
Parametreler
-
seçenekler
Sorgulanacak kural kümesini belirtir.
-
callback
function isteğe bağlı
callbackparametresi şu şekilde görünür:(disabledRuleIds: number[]) => void
-
disabledRuleIds
number[]
-
İadeler
-
Promise<number[]>
Bu kural grubundaki devre dışı bırakılmış kurallara karşılık gelen kimliklerin listesiyle çözümlenen Promise.
Promise'ler yalnızca Manifest V3 ve sonraki sürümlerde desteklenir. Diğer platformların geri çağırma işlevlerini kullanması gerekir.
getDynamicRules()
chrome.declarativeNetRequest.getDynamicRules(
filter?: GetRulesFilter,
callback?: function,
): Promise<Rule[]>
Uzantı için geçerli dinamik kural grubunu döndürür. Arayanlar, isteğe bağlı olarak bir filter belirterek getirilen kuralların listesini filtreleyebilir.
Parametreler
-
filtre
GetRulesFilter isteğe bağlı
Chrome 111+Alınan kuralların listesini filtrelemek için kullanılan bir nesne.
-
callback
function isteğe bağlı
callbackparametresi şu şekilde görünür:(rules: Rule[]) => void
-
kurallar
Kural[]
-
İadeler
-
Promise<Rule[]>
Chrome 91 ve sonraki sürümlerDinamik kural grubuyla çözümlenen Promise. Geçici dahili hatalar nedeniyle Promise reddedilebilir.
Promise'ler yalnızca Manifest V3 ve sonraki sürümlerde desteklenir. Diğer platformların geri çağırma işlevlerini kullanması gerekir.
getEnabledRulesets()
chrome.declarativeNetRequest.getEnabledRulesets(
callback?: function,
): Promise<string[]>
Geçerli etkin statik kural kümelerinin kimliklerini döndürür.
Parametreler
-
callback
function isteğe bağlı
callbackparametresi şu şekilde görünür:(rulesetIds: string[]) => void
-
rulesetIds
string[]
-
İadeler
-
Promise<string[]>
Chrome 91 ve sonraki sürümlerHer kimliğin etkin bir statik
Ruleset'ye karşılık geldiği kimlik listesiyle çözümlenen Promise.Promise'ler yalnızca Manifest V3 ve sonraki sürümlerde desteklenir. Diğer platformların geri çağırma işlevlerini kullanması gerekir.
getMatchedRules()
chrome.declarativeNetRequest.getMatchedRules(
filter?: MatchedRulesFilter,
callback?: function,
): Promise<RulesMatchedDetails>
Uzantıyla eşleşen tüm kuralları döndürür. Arayanlar, isteğe bağlı olarak bir filter belirterek eşleşen kuralların listesini filtreleyebilir. Bu yöntem yalnızca "declarativeNetRequestFeedback" iznine sahip olan veya filter içinde belirtilen tabId için "activeTab" izni verilmiş uzantılar tarafından kullanılabilir. Not: Beş dakikadan daha uzun süre önce eşleştirilen ve etkin bir dokümanla ilişkili olmayan kurallar döndürülmez.
Parametreler
-
filtre
MatchedRulesFilter isteğe bağlı
Eşleşen kuralların listesini filtrelemek için kullanılan bir nesne.
-
callback
function isteğe bağlı
callbackparametresi şu şekilde görünür:(details: RulesMatchedDetails) => void
-
ayrıntılar
-
İadeler
-
Promise<RulesMatchedDetails>
Chrome 91 ve sonraki sürümlerEşleşen kuralların listesi getirildikten sonra çözümlenen Promise. Hata durumunda Promise reddedilir. Bu durum, yetersiz izinler veya kotanın aşılması gibi çeşitli nedenlerden kaynaklanabilir.
Promise'ler yalnızca Manifest V3 ve sonraki sürümlerde desteklenir. Diğer platformların geri çağırma işlevlerini kullanması gerekir.
getSessionRules()
chrome.declarativeNetRequest.getSessionRules(
filter?: GetRulesFilter,
callback?: function,
): Promise<Rule[]>
Uzantı için geçerli oturum kapsamlı kural grubunu döndürür. Arayanlar, isteğe bağlı olarak bir filter belirterek getirilen kuralların listesini filtreleyebilir.
Parametreler
-
filtre
GetRulesFilter isteğe bağlı
Chrome 111+Alınan kuralların listesini filtrelemek için kullanılan bir nesne.
-
callback
function isteğe bağlı
callbackparametresi şu şekilde görünür:(rules: Rule[]) => void
-
kurallar
Kural[]
-
İadeler
-
Promise<Rule[]>
Chrome 91 ve sonraki sürümlerOturum kapsamlı kural grubuyla çözümlenen Promise.
Promise'ler yalnızca Manifest V3 ve sonraki sürümlerde desteklenir. Diğer platformların geri çağırma işlevlerini kullanması gerekir.
isRegexSupported()
chrome.declarativeNetRequest.isRegexSupported(
regexOptions: RegexOptions,
callback?: function,
): Promise<IsRegexSupportedResult>
Belirtilen normal ifadenin regexFilter kural koşulu olarak desteklenip desteklenmeyeceğini kontrol eder.
Parametreler
-
regexOptions
Kontrol edilecek normal ifade.
-
callback
function isteğe bağlı
callbackparametresi şu şekilde görünür:(result: IsRegexSupportedResult) => void
-
sonuç
-
İadeler
-
Promise<IsRegexSupportedResult>
Chrome 91 ve sonraki sürümlerNormal ifadenin desteklenip desteklenmediği ve desteklenmiyorsa nedeni gibi ayrıntılarla çözümlenen Promise.
Promise'ler yalnızca Manifest V3 ve sonraki sürümlerde desteklenir. Diğer platformların geri çağırma işlevlerini kullanması gerekir.
setExtensionActionOptions()
chrome.declarativeNetRequest.setExtensionActionOptions(
options: ExtensionActionOptions,
callback?: function,
): Promise<void>
Sekmeler için işlem sayısının, uzantı işleminin rozet metni olarak gösterilip gösterilmeyeceğini yapılandırır ve bu işlem sayısının artırılmasına olanak tanır.
Parametreler
-
seçenekler
-
callback
function isteğe bağlı
Chrome 89 ve sonraki sürümlercallbackparametresi şu şekilde görünür:() => void
İadeler
-
Promise<void>
Chrome 91 ve sonraki sürümlerPromise'ler yalnızca Manifest V3 ve sonraki sürümlerde desteklenir. Diğer platformların geri çağırma işlevlerini kullanması gerekir.
testMatchOutcome()
chrome.declarativeNetRequest.testMatchOutcome(
request: TestMatchRequestDetails,
callback?: function,
): Promise<TestMatchOutcomeResult>
Uzantının declarativeNetRequest kurallarından herhangi birinin varsayımsal bir istekle eşleşip eşleşmediğini kontrol eder. Not: Yalnızca uzantı geliştirme sırasında kullanılması amaçlandığından, yalnızca paketi açılmış uzantılar için kullanılabilir.
Parametreler
-
istek
-
callback
function isteğe bağlı
callbackparametresi şu şekilde görünür:(result: TestMatchOutcomeResult) => void
-
sonuç
-
İadeler
-
Promise<TestMatchOutcomeResult>
Eşleşen kuralların ayrıntılarıyla çözümlenen Promise.
Promise'ler yalnızca Manifest V3 ve sonraki sürümlerde desteklenir. Diğer platformların geri çağırma işlevlerini kullanması gerekir.
updateDynamicRules()
chrome.declarativeNetRequest.updateDynamicRules(
options: UpdateRuleOptions,
callback?: function,
): Promise<void>
Uzantının mevcut dinamik kural grubunu değiştirir. Kimlikleri options.removeRuleIds içinde listelenen kurallar önce kaldırılır, ardından options.addRules içinde verilen kurallar eklenir. Notlar:
- Bu güncelleme tek bir atomik işlem olarak gerçekleşir: Belirtilen tüm kurallar eklenir ve kaldırılır ya da bir hata döndürülür.
- Bu kurallar, tarayıcı oturumları ve uzantı güncellemeleri boyunca kalıcıdır.
- Uzantı paketinin bir parçası olarak belirtilen statik kurallar bu işlev kullanılarak kaldırılamaz.
MAX_NUMBER_OF_DYNAMIC_RULES, bir uzantının ekleyebileceği maksimum dinamik kural sayısıdır. Güvenli olmayan kural sayısıMAX_NUMBER_OF_UNSAFE_DYNAMIC_RULES'ü aşmamalıdır.
Parametreler
-
seçeneklerChrome 87 ve sonraki sürümler
-
callback
function isteğe bağlı
callbackparametresi şu şekilde görünür:() => void
İadeler
-
Promise<void>
Chrome 91 ve sonraki sürümlerGüncelleme tamamlandığında çözümlenen Promise. Hata durumunda promise reddedilir ve kural kümesinde herhangi bir değişiklik yapılmaz. Bu durum; geçersiz kural biçimi, yinelenen kural kimliği, kural sayısı sınırının aşılması, dahili hatalar ve diğer nedenlerden kaynaklanabilir.
Promise'ler yalnızca Manifest V3 ve sonraki sürümlerde desteklenir. Diğer platformların geri çağırma işlevlerini kullanması gerekir.
updateEnabledRulesets()
chrome.declarativeNetRequest.updateEnabledRulesets(
options: UpdateRulesetOptions,
callback?: function,
): Promise<void>
Uzantı için etkinleştirilen statik kural kümelerini günceller. Kimlikleri options.disableRulesetIds içinde listelenen kural kümeleri önce kaldırılır, ardından options.enableRulesetIds içinde listelenen kural kümeleri eklenir.
Etkin statik kural kümelerinin oturumlar arasında kalıcı olduğunu ancak uzantı güncellemeleri arasında kalıcı olmadığını unutmayın. Yani rule_resources manifest anahtarı, her uzantı güncellemesinde etkin statik kural kümelerini belirler.
Parametreler
-
seçeneklerChrome 87 ve sonraki sürümler
-
callback
function isteğe bağlı
callbackparametresi şu şekilde görünür:() => void
İadeler
-
Promise<void>
Chrome 91 ve sonraki sürümlerGüncelleme tamamlandığında çözümlenen Promise. Hata durumunda promise reddedilir ve etkin kural kümelerinde herhangi bir değişiklik yapılmaz. Bu durum, geçersiz kural grubu kimlikleri, kural sayısı sınırının aşılması veya dahili hatalar gibi çeşitli nedenlerden kaynaklanabilir.
Promise'ler yalnızca Manifest V3 ve sonraki sürümlerde desteklenir. Diğer platformların geri çağırma işlevlerini kullanması gerekir.
updateSessionRules()
chrome.declarativeNetRequest.updateSessionRules(
options: UpdateRuleOptions,
callback?: function,
): Promise<void>
Uzantı için mevcut oturum kapsamlı kural grubunu değiştirir. Kimlikleri options.removeRuleIds içinde listelenen kurallar önce kaldırılır, ardından options.addRules içinde verilen kurallar eklenir. Notlar:
- Bu güncelleme tek bir atomik işlem olarak gerçekleşir: Belirtilen tüm kurallar eklenir ve kaldırılır ya da bir hata döndürülür.
- Bu kurallar oturumlar arasında kalıcı değildir ve bellekte yedeklenir.
- Bir uzantının ekleyebileceği maksimum oturum kuralı sayısı
MAX_NUMBER_OF_SESSION_RULES'dir.
Parametreler
-
seçenekler
-
callback
function isteğe bağlı
callbackparametresi şu şekilde görünür:() => void
İadeler
-
Promise<void>
Chrome 91 ve sonraki sürümlerGüncelleme tamamlandığında çözümlenen Promise. Hata durumunda promise reddedilir ve kural kümesinde herhangi bir değişiklik yapılmaz. Bu durum, geçersiz kural biçimi, yinelenen kural kimliği, kural sayısı sınırının aşılması gibi çeşitli nedenlerden kaynaklanabilir.
Promise'ler yalnızca Manifest V3 ve sonraki sürümlerde desteklenir. Diğer platformların geri çağırma işlevlerini kullanması gerekir.
updateStaticRules()
chrome.declarativeNetRequest.updateStaticRules(
options: UpdateStaticRulesOptions,
callback?: function,
): Promise<void>
Ruleset içindeki statik kuralları tek tek devre dışı bırakır ve etkinleştirir. Devre dışı bırakılmış bir Ruleset kuralında yapılan değişiklikler, kural bir sonraki etkinleştirildiğinde geçerli olur.
Parametreler
-
seçenekler
-
callback
function isteğe bağlı
callbackparametresi şu şekilde görünür:() => void
İadeler
-
Promise<void>
Güncelleme tamamlandığında çözümlenen Promise. Hata durumunda promise reddedilir ve etkin statik kurallarda değişiklik yapılmaz.
Promise'ler yalnızca Manifest V3 ve sonraki sürümlerde desteklenir. Diğer platformların geri çağırma işlevlerini kullanması gerekir.
Etkinlikler
onRuleMatchedDebug
chrome.declarativeNetRequest.onRuleMatchedDebug.addListener(
callback: function,
)
Bir kural bir istekle eşleştiğinde tetiklenir. Yalnızca hata ayıklama amacıyla kullanılması amaçlandığından, yalnızca "declarativeNetRequestFeedback" iznine sahip paketlenmemiş uzantılar için kullanılabilir.
Parametreler
-
callback
işlev
callbackparametresi şu şekilde görünür:(info: MatchedRuleInfoDebug) => void
-
bilgi
-