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 bir ifadeyle, 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 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 alanları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, joker karakter (/*) olmalıdır. file URL'leri için yol tamamen belirtilmeli ve joker karakter içermemelidir.
  • İçerik ayarı kalıpları, eşleşme kalıplarından farklı olarak 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ı belirtilmemişse desen tüm bağlantı noktalarıyla eşleşir.

Desen önceliği

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

Örneğin, aşağıdaki kalıplar önceliğe göre sıralanı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 (örneğin https://*.example.com:123/*)

Bir kalıp, bir bölümde başka bir kalıptan daha belirgin, başka bir bölümde ise 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 önceliğe göre sıralanı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 bu kadar yüksek değil.
  3. https://*.example.com:123/* Bağlantı noktası ve şema belirtilse de 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 ayarları, çok amaçlı adres çubuğunda gösterilen URL'ye göre belirlenir. Bu URL'ye "birincil" URL denir.

Bazı içerik türleri ek URL'leri dikkate alabilir. Ö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 kuralda 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 desen çiftleri listesi önceliğe göre sıralanmıştır:

ÖncelikBirincil desenİkincil desen
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ı destekleyen tek içerik türü contentSettings.plugins'dir. Kaynak tanımlayıcı, belirli bir eklentiyi tanımlar. İçerik ayarları uygulanırken önce belirli eklentinin 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 deseni <all_urls> ise bu kural, deseni daha spesifik olsa bile kaynak tanımlayıcısı olmayan ve deseni https://www.example.com/* olan bir kurala göre önceliklidir.

contentSettings.ContentSetting.getResourceIdentifiers yöntemini çağırarak bir içerik türü için kaynak tanımlayıcılarının listesini alabilirsiniz. Döndürülen liste, kullanıcının makinesinde yüklü olan eklentilere göre değişebilir ancak Chrome, eklenti güncellemeleri sırasında tanımlayıcıları 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 ve sonraki sürümler

Enum

"allow"

"block"

CameraContentSetting

Chrome 46 veya daha yeni bir sürüm

Enum

"allow"

"block"

"ask"

ClipboardContentSetting

Chrome 121 ve sonraki sürümler

Enum

"allow"

"block"

"ask"

ContentSetting

Özellikler

  • temizle

    void

    Promise

    Bu uzantı tarafından belirlenen tüm içerik ayarı kurallarını temizler.

    clear işlevi şu şekilde görünür:

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

    • ayrıntılar

      nesne

      • kapsam

        Kapsam isteğe bağlı

        Ayarı temizleyeceğiniz yer (varsayılan: normal).

    • callback

      işlev isteğe bağlı

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

      () => void

    • returns

      Promise<void>

      Chrome 96 ve sonraki sürümler

      Promises yalnızca Manifest V3 ve sonraki sürümlerde desteklenir. Diğer platformlarda geri çağırmalar kullanılmalıdır.

  • get

    void

    Promise

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

    get işlevi şu şekilde görünür:

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

    • ayrıntılar

      nesne

      • incognito

        boolean isteğe bağlı

        Gizli oturum için içerik ayarlarının kontrol edilip edilmeyeceği. (varsayılan değer 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 ayrıntılı tanımlayıcısı.

      • secondaryUrl

        dize isteğe bağlı

        İçerik ayarının alınması gereken ikincil URL. Varsayılan olarak birincil URL'dir. İkincil URL'nin anlamının içerik türüne bağlı olduğunu ve tüm içerik türlerinde ikincil URL'lerin kullanılmadığını unutmayın.

    • callback

      işlev 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 tek tek ContentSetting nesnelerinin açıklamasına bakın.

    • returns

      Promise<object>

      Chrome 96 ve sonraki sürümler

      Promises yalnızca Manifest V3 ve sonraki sürümlerde desteklenir. Diğer platformlarda geri çağırmalar kullanılmalıdır.

  • getResourceIdentifiers

    void

    Promise

    getResourceIdentifiers işlevi şu şekilde görünür:

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

    • callback

      işlev 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ı kullanmıyorsa undefined.

    • returns
      Chrome 96 ve sonraki sürümler

      Promises yalnızca Manifest V3 ve sonraki sürümlerde desteklenir. Diğer platformlarda geri çağırmalar kullanılmalıdır.

  • grup

    void

    Promise

    Yeni bir içerik ayarı kuralı uygular.

    set işlevi şu şekilde görünür:

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

    • ayrıntılar

      nesne

      • primaryPattern

        dize

        Birincil URL'nin kalıbı. Kalıp biçimi hakkında ayrıntılı bilgi 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ı belirleyeceğiniz yer (varsayılan: normal).

      • secondaryPattern

        dize isteğe bağlı

        İkincil URL'nin kalıbı. Varsayılan olarak tüm URL'lerle eşleşir. Kalıbın biçimi hakkında ayrıntılı bilgi için İçerik ayarı kalıpları başlıklı makaleyi inceleyin.

      • ayarlama

        herhangi

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

    • callback

      işlev isteğe bağlı

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

      () => void

    • returns

      Promise<void>

      Chrome 96 ve sonraki sürümler

      Promises yalnızca Manifest V3 ve sonraki sürümlerde desteklenir. Diğer platformlarda geri çağırmalar kullanılmalıdır.

CookiesContentSetting

Chrome 44 ve sonraki sürümler

Enum

"allow"

"block"

"session_only"

FullscreenContentSetting

Chrome 44 ve sonraki sürümler

Değer

"allow"

ImagesContentSetting

Chrome 44 ve sonraki sürümler

Enum

"allow"

"block"

JavascriptContentSetting

Chrome 44 ve sonraki sürümler

Enum

"allow"

"block"

LocationContentSetting

Chrome 44 ve sonraki sürümler

Enum

"allow"

"block"

"ask"

MicrophoneContentSetting

Chrome 46 veya daha yeni bir sürüm

Enum

"allow"

"block"

"ask"

MouselockContentSetting

Chrome 44 ve sonraki sürümler

Değer

"allow"

MultipleAutomaticDownloadsContentSetting

Chrome 44 ve sonraki sürümler

Enum

"allow"

"block"

"ask"

NotificationsContentSetting

Chrome 44 ve sonraki sürümler

Enum

"allow"

"block"

"ask"

PluginsContentSetting

Chrome 44 ve sonraki sürümler

Değer

"block"

PopupsContentSetting

Chrome 44 ve sonraki sürümler

Enum

"allow"

"block"

PpapiBrokerContentSetting

Chrome 44 ve sonraki sürümler

Değer

"block"

ResourceIdentifier

Kaynak tanımlayıcılarını 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

    dize isteğe bağlı

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

  • id

    dize

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

Scope

Chrome 44 ve sonraki sürümler

ContentSetting'in kapsamı. Şunlardan biri: regular: Normal profil ayarı (başka bir yerde geçersiz kılınmadığı takdirde 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

"regular"

"incognito_session_only"

SoundContentSetting

Chrome 141 ve sonraki sürümler

Enum

"allow"

"block"

Özellikler

automaticDownloads

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

autoVerify

Chrome 113 ve sonraki sürümler

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

camera

Chrome 46 veya daha yeni bir sürüm

Sitelerin kameraya erişmesine izin verilip verilmeyeceği. Şunlardan birini seçin: allow: Sitelerin kameraya erişmesine izin verin, block: Sitelerin kameraya erişmesine izin vermeyin, ask: Bir site kameraya erişmek istediğinde sorun. Varsayılan değer ask'dır. Birincil URL, kamera erişimi isteyen belgenin URL'sidir. İkincil URL kullanılmaz. NOT: Her iki kalıp da "<all_urls>" ise"izin ver" 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ği. "Gelişmiş" özellikler, kullanıcı hareketi sonrasında yerleşik biçimler yazmanın yanı sıra okuma, özel biçimler yazma ve kullanıcı hareketi olmadan yazma gibi özellikleri 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'dır. Birincil URL, pano erişimi isteyen belgenin URL'sidir. İkincil URL kullanılmaz.

cookies

Web sitelerinin çerez 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'dır. 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 veriliyor. Değer her zaman allow'dır.

images

Resimlerin gösterilip gösterilmeyeceği. Şunlardan biri: allow: Resimleri göster, block: Resimleri gösterme. Varsayılan değer allow'dır. 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'i çalıştır, block: JavaScript'i çalıştırma. Varsayılan değer allow'dır. Birincil URL, üst düzey çerçevenin URL'sidir. İkincil URL kullanılmaz.

location

Coğrafi konuma izin verilip verilmeyeceği. Şunlardan birini seçin: allow: Sitelerin fiziksel konumunuzu izlemesine izin verin, block: Sitelerin fiziksel konumunuzu izlemesine izin verme, ask: Sitelerin fiziksel konumunuzu izlemesine izin vermeden önce sorun. Varsayılan değer ask'dır. Birincil URL, konum verilerini isteyen dokümanın URL'sidir. İkincil URL, üst düzey çerçevenin URL'sidir (istek URL'sinden farklı olabilir veya olmayabilir).

microphone

Chrome 46 veya daha yeni bir sürüm

Sitelerin mikrofona erişmesine izin verilip verilmeyeceği. Aşağıdaki seçeneklerden birini belirleyin: 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'dır. Birincil URL, mikrofon erişimi isteyen belgenin URL'sidir. İkincil URL kullanılmaz. NOT: Her iki kalıp da "<all_urls>" ise"izin ver" ayarı geçerli değildir.

mouselock

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

notifications

Sitelerin masaüstü bildirimleri göstermesine izin verilip verilmeyeceği. Şunlardan birini seçin: allow: Sitelerin masaüstü bildirimleri göstermesine izin ver, block: Sitelerin masaüstü bildirimleri göstermesine izin verme, ask: Bir site masaüstü bildirimi göstermek istediğinde sor. Varsayılan değer ask'dır. Birincil URL, bildirimi göstermek isteyen belgenin 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 bir etkisi yoktur. Değer her zaman block'dır. set() ve clear() ile ilgili aramalar yoksayılır.

popups

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

unsandboxedPlugins

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