chrome.contentSettings

refresh date: 2026-09-25 robots: noindex

Açıklama

Web sitelerinin çerezler, JavaScript ve eklentiler gibi özellikleri kullanıp kullanamayacaklarını kontrol eden ayarları değiştirmek için chrome.contentSettings API'yi kullanın. Daha genel olarak, içerik ayarları Chrome'un davranışını genel olarak değil, site bazında özelleştirmenize olanak tanır.

İzinler

contentSettings

Manifest

API'yi kullanmak için uzantınızın manifest dosyasında"contentSettings" iznini beyan etmeniz gerekir. Örneğin:

{
  "name": "My extension",
  ...
  "permissions": [
    "contentSettings"
  ],
  ...
}

İçerik ayarı kalıpları

Her bir içerik ayarının etkilediği web sitelerini belirtmek için kalıpları kullanabilirsiniz. Örneğin, https://*.youtube.com/*, youtube.com'u ve tüm alt alan adlarını belirtir. İçerik ayarı kalıplarının söz dizimi, birkaç fark dışında eşleşme kalıplarıyla aynıdır:

  • http, https ve ftp URL'leri için yol bir joker karakter (/*) olmalıdır. file URL'leri için yol tamamen belirtilmeli ve joker karakter içermemelidir.
  • Eşleşme kalıplarının aksine, içerik ayarı kalıpları bir bağlantı noktası numarası belirtebilir. Bir bağlantı noktası numarası belirtilirse kalıp yalnızca bu bağlantı noktasına sahip web siteleriyle eşleşir. Bağlantı noktası numarası belirtilmezse kalıp tüm bağlantı noktalarıyla eşleşir.

Desen önceliği

Belirli bir site için birden fazla içerik ayarı kuralı geçerli olduğunda daha spesifik kalıba sahip kural öncelikli olur.

Örneğin, aşağıdaki kalıplar öncelik sırasına göre sıralanmıştır:

  1. https://www.example.com/*
  2. https://*.example.com/* (example.com ve tüm alt alan adlarıyla eşleşir)
  3. <all_urls> (her URL ile eşleşir)

Üç tür joker karakter, bir kalıbın ne kadar spesifik olduğunu etkiler:

  • Bağlantı noktasındaki joker karakterler (ör. https://www.example.com:*/*)
  • Şemadaki joker karakterler (örneğin, *://www.example.com:123/*)
  • Ana makine adındaki joker karakterler (ör. https://*.example.com:123/*)

Bir kalıp bir bölümde başka bir kalıptan daha belirgin ancak başka bir bölümde daha az belirginse farklı bölümler şu sırayla kontrol edilir: ana makine adı, şema, bağlantı noktası. Örneğin, aşağıdaki kalıplar öncelik sırasına göre sıralanmıştır:

  1. https://www.example.com:*/* Ana makine adını ve şemayı belirtir.
  2. *:/www.example.com:123/* Ana makine adını belirtmesine rağmen şemayı belirtmediği için o kadar yüksek değildir.
  3. https://*.example.com:123/* Bağlantı noktasını ve şemayı belirtmesine rağmen ana makine adında joker karakter olduğu için daha düşük.

Birincil ve ikincil kalıplar

Hangi içerik ayarının uygulanacağına karar verilirken dikkate alınan URL, içerik türüne bağlıdır. Örneğin, contentSettings.notifications için ayarlar, çok amaçlı adres çubuğunda gösterilen URL'yi temel alır. Bu URL, "birincil" URL olarak adlandırılır.

Bazı içerik türleri ek URL'leri hesaba katabilir. Örneğin, bir sitenin contentSettings.cookies ayarlamasına izin verilip verilmeyeceği, HTTP isteğinin URL'sine (bu durumda birincil URL) ve çok amaçlı adres çubuğunda gösterilen URL'ye ("ikincil" URL olarak adlandırılır) göre belirlenir.

Birden fazla kuralın birincil ve ikincil kalıpları varsa daha spesifik birincil kalıba sahip kural öncelikli olur. Birden fazla kural aynı birincil kalıba sahipse daha spesifik ikincil kalıba sahip kural öncelikli olur. Örneğin, aşağıdaki birincil/ikincil kalıp çiftleri listesi öncelik sırasına göre sıralanmıştır:

ÖncelikBirincil kalıpİkincil kalıp
1https://www.moose.com/*,https://www.wombat.com/*
2https://www.moose.com/*,<all_urls>
3<all_urls>,https://www.wombat.com/*
4<all_urls>,<all_urls>

Kaynak tanımlayıcıları

Kaynak tanımlayıcılar, bir içerik türünün belirli alt türleri için içerik ayarlarını belirtmenize olanak tanır. Şu anda kaynak tanımlayıcılarını destekleyen tek içerik türü contentSettings.plugins olup kaynak tanımlayıcısı belirli bir eklentiyi tanımlar. İçerik ayarları uygulanırken önce belirli eklentiye ait ayarlar kontrol edilir. Belirli bir eklenti için ayar bulunamazsa eklentilerle ilgili genel içerik ayarları kontrol edilir.

Örneğin, bir içerik ayarı kuralının kaynak tanımlayıcısı adobe-flash-player ve kalıbı <all_urls> ise bu kural, kaynak tanımlayıcısı olmayan ve kalıbı https://www.example.com/* olan bir kurala göre önceliklidir (bu kalıp daha spesifik olsa bile).

contentSettings.ContentSetting.getResourceIdentifiers yöntemini çağırarak bir içerik türünün kaynak tanımlayıcılarının listesini alabilirsiniz. Döndürülen liste, kullanıcının makinesinde yüklü olan eklenti grubuna göre değişebilir ancak Chrome, tanımlayıcıları eklenti güncellemeleri boyunca sabit tutmaya çalışır.

Örnekler

Bu API'yi denemek için chrome-extension-samples deposundan contentSettings API örneğini yükleyin.

Türler

AutoVerifyContentSetting

Chrome 113+

Enum

"allow"

"block"

CameraContentSetting

Chrome 46+

Enum

"allow"

"block"

"ask"

ClipboardContentSetting

Chrome 121 ve sonraki sürümler

Enum

"allow"

"block"

"ask"

ContentSetting

Özellikler

  • temizle

    geçersiz

    Taahhüt

    Bu uzantı tarafından ayarlanan tüm içerik ayarı kurallarını temizle.

    clear işlevi şu şekildedir:

    (details: object, callback?: function) => {...}

    • ayrıntılar

      nesne

      • kapsam

        Kapsam isteğe bağlı

        Ayarın temizleneceği yer (varsayılan: normal).

    • callback

      function isteğe bağlı

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

      () => void

    • returns

      Promise<void>

      Chrome 96+

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

  • get

    geçersiz

    Taahhüt

    Belirli bir URL çifti için geçerli içerik ayarını alır.

    get işlevi şu şekildedir:

    (details: object, callback?: function) => {...}

    • ayrıntılar

      nesne

      • gizli mod

        boole isteğe bağlı

        Gizli oturum için içerik ayarlarının kontrol edilip edilmeyeceği. (varsayılan olarak false)

      • primaryUrl

        dize

        İçerik ayarının alınması gereken birincil URL. Birincil URL'nin anlamının içerik türüne bağlı olduğunu unutmayın.

      • resourceIdentifier

        ResourceIdentifier isteğe bağlı

        Ayarların alınması gereken içerik türünün daha spesifik bir tanımlayıcısı.

      • secondaryUrl

        string isteğe bağlı

        İçerik ayarının alınması gereken ikincil URL. Varsayılan olarak birincil URL'ye ayarlanır. İkincil URL'nin anlamı içerik türüne bağlıdır ve tüm içerik türleri ikincil URL'leri kullanmaz.

    • callback

      function isteğe bağlı

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

      (details: object) => void

      • ayrıntılar

        nesne

        • ayarlama

          T

          İçerik ayarı. Olası değerler için ContentSetting nesnelerinin açıklamalarına bakın.

    • returns

      Promise<object>

      Chrome 96+

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

  • getResourceIdentifiers

    geçersiz

    Taahhüt

    getResourceIdentifiers işlevi şu şekildedir:

    (callback?: function) => {...}

    • callback

      function isteğe bağlı

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

      (resourceIdentifiers?: ResourceIdentifier[]) => void

      • resourceIdentifiers

        ResourceIdentifier[] isteğe bağlı

        Bu içerik türü için kaynak tanımlayıcıların listesi veya bu içerik türü kaynak tanımlayıcıları kullanmıyorsa undefined.

    • returns
      Chrome 96+

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

  • grup

    geçersiz

    Taahhüt

    Yeni bir içerik ayarı kuralı uygular.

    set işlevi şu şekildedir:

    (details: object, callback?: function) => {...}

    • ayrıntılar

      nesne

      • primaryPattern

        dize

        Birincil URL'nin kalıbı. Kalıp biçimiyle ilgili ayrıntılar için İçerik Ayarı Kalıpları başlıklı makaleyi inceleyin.

      • resourceIdentifier

        ResourceIdentifier isteğe bağlı

        İçerik türünün kaynak tanımlayıcısı.

      • kapsam

        Kapsam isteğe bağlı

        Ayarın yapılacağı yer (varsayılan: normal).

      • secondaryPattern

        string isteğe bağlı

        İkincil URL'nin kalıbı. Varsayılan olarak tüm URL'lerle eşleşir. Bir kalıbın biçimiyle ilgili ayrıntılar için İçerik Ayarı Kalıpları başlıklı makaleyi inceleyin.

      • ayarlama

        herhangi

        Bu kural tarafından uygulanan ayar. Olası değerler için ContentSetting nesnelerinin açıklamalarına bakın.

    • callback

      function isteğe bağlı

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

      () => void

    • returns

      Promise<void>

      Chrome 96+

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

CookiesContentSetting

Chrome 44+

Enum

"allow"

"block"

"session_only"

FullscreenContentSetting

Chrome 44+

Değer

"allow"

ImagesContentSetting

Chrome 44+

Enum

"allow"

"block"

JavascriptContentSetting

Chrome 44+

Enum

"allow"

"block"

LocationContentSetting

Chrome 44+

Enum

"allow"

"block"

"ask"

MicrophoneContentSetting

Chrome 46+

Enum

"allow"

"block"

"ask"

MouselockContentSetting

Chrome 44+

Değer

"allow"

MultipleAutomaticDownloadsContentSetting

Chrome 44+

Enum

"allow"

"block"

"ask"

NotificationsContentSetting

Chrome 44+

Enum

"allow"

"block"

"ask"

PluginsContentSetting

Chrome 44+

Değer

"block"

PopupsContentSetting

Chrome 44+

Enum

"allow"

"block"

PpapiBrokerContentSetting

Chrome 44+

Değer

"block"

ResourceIdentifier

Kaynak tanımlayıcıları kullanan tek içerik türü contentSettings.plugins'dir. Daha fazla bilgi için Kaynak Tanımlayıcıları bölümüne bakın.

Özellikler

  • açıklama

    string isteğe bağlı

    Kaynağın kullanıcılar tarafından okunabilir açıklaması.

  • id

    dize

    Belirli bir içerik türünün kaynak tanımlayıcısı.

Scope

Chrome 44+

ContentSetting'in kapsamı. Şunlardan biri: regular: Normal profil ayarı (başka bir yerde geçersiz kılınmazsa gizli profil tarafından devralınır), incognito\_session\_only: Yalnızca gizli oturum sırasında ayarlanabilen ve gizli oturum sona erdiğinde silinen gizli profil ayarı (normal ayarları geçersiz kılar).

Enum

"normal"

"incognito_session_only"

SoundContentSetting

Chrome 141+

Enum

"allow"

"block"

Özellikler

automaticDownloads

Sitelerin otomatik olarak birden fazla dosya indirmesine izin verilip verilmeyeceği. Şunlardan biri: allow: Sitelerin otomatik olarak birden fazla dosya indirmesine izin ver, block: Sitelerin otomatik olarak birden fazla dosya indirmesine izin verme, ask: Bir site ilk dosyadan sonra otomatik olarak dosya indirmek istediğinde sor. Varsayılan değer: ask. Birincil URL, üst düzey çerçevenin URL'sidir. İkincil URL kullanılmaz.

autoVerify

Chrome 113+

Sitelerin Private State Tokens API'yi kullanmasına izin verilip verilmeyeceğini belirler. Şunlardan biri: allow: Sitelerin Private State Tokens API'yi kullanmasına izin ver, block: Sitelerin Private State Tokens API'yi kullanmasını engelle. Varsayılan değer: allow. set() çağrılırken birincil URL kalıbı <all_urls> olmalıdır. İkincil URL kullanılmaz.

camera

Chrome 46+

Sitelerin kameraya erişmesine izin verilip verilmeyeceğini belirler. Şunlardan biri: allow: Sitelerin kameraya erişmesine izin ver, block: Sitelerin kameraya erişmesine izin verme, ask: Bir site kameraya erişmek istediğinde sor. Varsayılan değer: ask. Birincil URL, kamera erişimi isteyen dokümanın URL'sidir. İkincil URL kullanılmaz. NOT: Her iki kalıp da "<all_urls>" ise"allow" ayarı geçerli değildir.

clipboard

Chrome 121 ve sonraki sürümler

Sitelerin, Async Clipboard API'nin gelişmiş özellikleri aracılığıyla panoya erişmesine izin verilip verilmeyeceğini belirler. "Gelişmiş" özellikler, kullanıcı hareketinden sonra yerleşik biçimler yazmanın yanı sıra okuma, özel biçimler yazma ve kullanıcı hareketi olmadan yazma özelliklerini içerir. Şunlardan biri: allow: Sitelerin gelişmiş pano özelliklerini kullanmasına izin ver, block: Sitelerin gelişmiş pano özelliklerini kullanmasına izin verme, ask: Bir site gelişmiş pano özelliklerini kullanmak istediğinde sor. Varsayılan değer: ask. Birincil URL, pano erişimi isteyen dokümanın URL'sidir. İkincil URL kullanılmaz.

cookies

Web sitelerinin çerezleri ve diğer yerel verileri ayarlamasına izin verilip verilmeyeceği. Şunlardan biri: allow: Çerezleri kabul et, block: Çerezleri engelle, session\_only: Çerezleri yalnızca geçerli oturum için kabul et. Varsayılan değer: allow. Birincil URL, çerez kaynağını temsil eden URL'dir. İkincil URL, üst düzey çerçevenin URL'sidir.

fullscreen

Kullanımdan kaldırıldı. Artık herhangi bir etkisi yoktur. Tam ekran izni artık tüm siteler için otomatik olarak verilir. Değer her zaman allow olur.

images

Resimlerin gösterilip gösterilmeyeceği. Şunlardan biri: allow: Resimleri göster, block: Resimleri gösterme. Varsayılan değer: allow. Birincil URL, üst düzey çerçevenin URL'sidir. İkincil URL, resmin URL'sidir.

javascript

JavaScript'in çalıştırılıp çalıştırılmayacağı. Şunlardan biri: allow: JavaScript çalıştır, block: JavaScript çalıştırma. Varsayılan değer: allow. Birincil URL, üst düzey çerçevenin URL'sidir. İkincil URL kullanılmaz.

location

Coğrafi konuma izin verilip verilmeyeceği. Şunlardan biri: allow: Sitelerin fiziksel konumunuzu izlemesine izin ver, block: Sitelerin fiziksel konumunuzu izlemesine izin verme, ask: Sitelerin fiziksel konumunuzu izlemesine izin vermeden önce sor. Varsayılan değer: ask. Birincil URL, konum verilerini isteyen dokümanın URL'sidir. İkincil URL, üst düzey çerçevenin URL'sidir (istekte bulunan URL'den farklı olabilir veya olmayabilir).

microphone

Chrome 46+

Sitelerin mikrofona erişmesine izin verilip verilmeyeceğini belirler. Şunlardan biri: allow: Sitelerin mikrofona erişmesine izin ver, block: Sitelerin mikrofona erişmesine izin verme, ask: Bir site mikrofona erişmek istediğinde sor. Varsayılan değer: ask. Birincil URL, mikrofon erişimi isteyen dokümanın URL'sidir. İkincil URL kullanılmaz. NOT: Her iki kalıp da "<all_urls>" ise"allow" ayarı geçerli değildir.

mouselock

Kullanımdan kaldırıldı. Artık herhangi bir etkisi yoktur. Fare kilidi izni artık tüm siteler için otomatik olarak verilir. Değer her zaman allow olur.

notifications

Sitelerin masaüstü bildirimleri göstermesine izin verilip verilmeyeceği. Şunlardan biri: allow: Sitelerin masaüstü bildirimleri göstermesine izin ver, block: Sitelerin masaüstü bildirimleri göstermesine izin verme, ask: Bir site masaüstü bildirimleri göstermek istediğinde sor. Varsayılan değer: ask. Birincil URL, bildirimi göstermek isteyen dokümanın URL'sidir. İkincil URL kullanılmaz.

plugins

Kullanımdan kaldırıldı. Chrome 88'de Flash desteği kaldırıldığından bu iznin artık herhangi bir etkisi yoktur. Değer her zaman block olur. set() ve clear() numaralı telefonlara yapılan aramalar yoksayılacak.

popups

Sitelerin pop-up göstermesine izin verilip verilmeyeceği. Şunlardan biri: allow: Sitelerin pop-up göstermesine izin ver, block: Sitelerin pop-up göstermesine izin verme. Varsayılan değer: block. Birincil URL, üst düzey çerçevenin URL'sidir. İkincil URL kullanılmaz.

unsandboxedPlugins

Kullanımdan kaldırıldı. Daha önce, sitelerin eklentileri korumalı alan dışında çalıştırmasına izin verilip verilmeyeceğini kontrol ediyordu. Ancak Chrome 88'de Flash aracı işlemi kaldırıldığından bu iznin artık herhangi bir etkisi yoktur. Değer her zaman block olur. set() ve clear() numaralı telefonlara yapılan aramalar yoksayılacak.