chrome.contentSettings

Açıklama

Web sitelerinin çerezler, JavaScript ve eklentiler gibi özellikleri kullanıp kullanamayacağını kontrol eden ayarları değiştirmek için chrome.contentSettings API'sini 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

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

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

Kavramlar ve kullanım

İç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 için söz dizimi ayarlama kalıpları, birkaç farklılık dışında eşleşme kalıpları ile aynıdır:

  • http, https ve ftp URL'leri için yol bir joker karakter (/*) olmalıdır. file URL 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. Bağlantı noktası numarası belirtilirse kalıp yalnızca bu bağlantı noktasına sahip web siteleriyle eşleşir. Bağlantı noktası numarası yoksa belirtildiğinde, kalıp tüm bağlantı noktalarıyla eşleşir.

Kalıp önceliği

Belirli bir site için birden fazla içerik ayarı kuralı geçerli olduğunda, daha spesifik olan kural öncelikli hale getirir.

Ö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şen)
  3. <all_urls> (her URL ile eşleşir)

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

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

Bir kalıp, bir bölümde başka bir kalıptan daha spesifik, diğerinde ise daha az spesifikse farklı bölümler şu sırayla kontrol edilir: ana makine adı, şema, bağlantı noktası. Örneğin, şu 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/*. Çok yüksek değildir, çünkü ana makine adını belirtmesine rağmen şemayı belirtmez.
  3. https://*.example.com:123/*. Bağlantı noktasını ve şemayı belirtmesine rağmen ana makine adında bir joker karaktere sahip olması nedeniyle daha düşüktür.

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 şurada gösterilen URL'yi temel alır: çok amaçlı adres çubuğu. Bu URL "birincil" olarak adlandırılır URL'yi tıklayın.

Bazı içerik türleri ek URL'leri hesaba katabilir. Örneğin, bir sitenin Bir contentSettings.cookies değeri, HTTP isteğinin URL'sine (yani birincil URL'nin yanı sıra çok amaçlı adres çubuğunda gösterilen URL'ye ("ikincil" URL) ekleyin.

Birden fazla kuralın birincil ve ikincil kalıpları varsa daha spesifik olan birincil kurala sahip kural öncelikli hale getirir. Aynı birincil kalıba sahip birden fazla kural varsa öncelikli hale gelir. Örneğin, aşağıdaki liste: birincil/ikincil kalıp çiftleri, önceliğe göre sıralanı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ı, 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, Burada bir kaynak tanımlayıcı belirli bir eklentiyi tanımlar. İçerik ayarlarını uygularken önce ilgili eklentinin ayarlarının kontrol edildiğinden emin olun. Belirli bir eklentilerinin genel içerik ayarları kontrol edilir.

Örneğin, bir içerik ayarı kuralı adobe-flash-player kaynak tanımlayıcısına ve kalıbı <all_urls> ise kaynak tanımlayıcısı ve kalıp içermeyen bir kurala göre önceliklidir https://www.example.com/* değerini alır.

Bir içerik türünün kaynak tanımlayıcılarının listesini almak için contentSettings.ContentSetting.getResourceIdentifiers() yöntemini kullanabilirsiniz. Döndürülen liste şununla değişebilir: kullanıcının makinesinde yüklü eklenti kümesi ancak Chrome, tanımlayıcıları sabit tutmaya çalışır en iyi uygulamaları paylaşacağız.

Örnekler

Bu API'yi denemek için chrome-extension-samples bölümünden contentSettings API örneğini yükleyin. depodur.

Türler

AutoVerifyContentSetting

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

Enum

"allow"

"engelle"

CameraContentSetting

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

Enum

"allow"

"engelle"

"sor"

ClipboardContentSetting

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

Enum

"allow"

"engelle"

"sor"

ContentSetting

Özellikler

  • temizle

    geçersiz

    Söz 'nı inceleyin.

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

    clear işlevi aşağıdaki gibi görünür:

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

    • ayrıntılar

      nesne

      • kapsam

        Kapsam isteğe bağlı

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

    • geri çağırma

      işlev isteğe bağlı

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

      () => void

    • returns

      Taahhüt<void>

      Chrome 96 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.

  • get

    geçersiz

    Söz 'nı inceleyin.

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

    get işlevi aşağıdaki gibi görünür:

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

    • ayrıntılar

      nesne

      • gizli

        boole isteğe bağlı

        Gizli oturum için içerik ayarlarının kontrol edilip edilmeyeceğini belirler. (varsayılan yanlış)

      • 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

        dize isteğe bağlı

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

    • geri çağırma

      işlev isteğe bağlı

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

      (details: object) => void

      • ayrıntılar

        nesne

        • ayarlama

          S

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

    • returns

      Promise&lt;object&gt;

      Chrome 96 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.

  • getResourceIdentifiers

    geçersiz

    Söz 'nı inceleyin.

    getResourceIdentifiers işlevi aşağıdaki gibi görünür:

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

    • geri çağırma

      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ın listesi veya bu içerik türü kaynak tanımlayıcıları kullanmıyorsa undefined.

    • returns
      Chrome 96 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.

  • grup

    geçersiz

    Söz 'nı inceleyin.

    Yeni bir içerik ayarı kuralı uygular.

    set işlevi aşağıdaki gibi görünür:

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

    • ayrıntılar

      nesne

      • primaryPattern

        dize

        Birincil URL kalıbı. Kalıpla ilgili ayrıntılar için İçerik Ayarı Kalıpları bölümüne bakın.

      • 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

        dize isteğe bağlı

        İkincil URL kalıbı. Varsayılan olarak tüm URL'lerle eşleşir. Kalıpla ilgili ayrıntılar için İçerik Ayarı Kalıpları bölümüne bakın.

      • ayarlama

        herhangi

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

    • geri çağırma

      işlev isteğe bağlı

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

      () => void

    • returns

      Taahhüt<void>

      Chrome 96 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.

CookiesContentSetting

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

Enum

"allow"

"engelle"

&quot;session_only&quot;

FullscreenContentSetting

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

Değer

"allow"

ImagesContentSetting

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

Enum

"allow"

"engelle"

JavascriptContentSetting

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

Enum

"allow"

"engelle"

LocationContentSetting

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

Enum

"allow"

"engelle"

"sor"

MicrophoneContentSetting

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

Enum

"allow"

"engelle"

"sor"

MouselockContentSetting

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

Değer

"allow"

MultipleAutomaticDownloadsContentSetting

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

Enum

"allow"

"engelle"

"sor"

NotificationsContentSetting

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

Enum

"allow"

"engelle"

"sor"

PluginsContentSetting

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

Değer

"engelle"

PopupsContentSetting

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

Enum

"allow"

"engelle"

PpapiBrokerContentSetting

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

Değer

"engelle"

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

    dize isteğe bağlı

    Kaynağın okunabilir açıklaması.

  • id

    dize

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

Scope

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

ContentSetting'in kapsamıdır. Ş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

"regular" (normal)

"gizli_oturum_yalnızca"

Özellikler

automaticDownloads

Sitelerin birden fazla dosyayı otomatik olarak indirmesine izin verilip verilmeyeceği. Şunlardan biri: 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. ask varsayılandır. Birincil URL, üst düzey çerçevenin URL'sidir. İkincil URL kullanılmaz.

autoVerify

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

Sitelerin Private State Tokens API'yi kullanmasına izin verilip verilmeyeceği. Şunlardan biri: allow: Sitelerin Private State Tokens API'yi kullanmasına izin ver. block: Sitelerin Private State Tokens API'yi kullanmasını engelle. allow varsayılandır. Birincil URL, üst düzey çerçevenin URL'sidir. İkincil URL kullanılmaz. NOT: set() çağrılırken birincil kalıp olmalıdır .

camera

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

Sitelerin kameraya erişmesine izin verilip verilmeyeceği. Ş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. ask varsayılandır. Birincil URL, kamera erişimi isteyen dokümanın URL'sidir. İkincil URL kullanılmaz. NOT: "allow" her iki kalıp da '' ise ayar geçerli değildir.

clipboard

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

Sitelerin, Eş Zamansız Pano API'sının gelişmiş özellikleri aracılığıyla panoya erişmesine izin verilip verilmeyeceği. "Gelişmiş" Özellikler, bir kullanıcı hareketinden sonra yerleşik biçimleri yazma dışındaki her şeyi (ör. okuma yeteneği, özel biçimler yazabilme ve kullanıcı hareketi olmadan yazma imkanı) 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. ask varsayılandır. Birincil URL, pano erişimi isteyen dokümanın URL'sidir. İkincil URL kullanılmaz.

cookies

Çerezlere ve diğer yerel verilerin web siteleri tarafından ayarlanması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. allow varsayılandı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 yok. Tam ekran izni artık tüm sitelere otomatik olarak veriliyor. Değer her zaman allow.

images

Resimlerin gösterilip gösterilmeyeceğini belirler. Şunlardan biri: allow: Resimleri göster, block: Resimleri gösterme. allow varsayılandı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ın, block: JavaScript çalıştırmaz. allow varsayılandır. 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 verin, block: Sitelerin fiziksel konumumu izlemesine izin verme, ask: Sitelerin fiziksel konumumu izlemesine izin vermeden önce sor. ask varsayılandır. Birincil URL, konum verilerini isteyen dokümanın URL'sidir. İkincil URL, üst düzey çerçevenin URL'sidir (istenen URL'den farklı olabilir veya olmayabilir).

microphone

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

Sitelerin mikrofona erişmesine izin verilip verilmeyeceği. Ş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. ask varsayılandır. Birincil URL, mikrofon erişimi isteyen dokümanın URL'sidir. İkincil URL kullanılmaz. NOT: "allow" her iki kalıp da '' ise ayar geçerli değildir.

mouselock

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

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. ask varsayılandır. 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ığında bu iznin artık bir etkisi yoktur. Değer her zaman block. set() ve clear() numaralı telefona yapılan çağrılar 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'ları göstermesine izin verme. block varsayılandır. Birincil URL, üst düzey çerçevenin URL'sidir. İkincil URL kullanılmaz.

unsandboxedPlugins

Kullanımdan kaldırıldı. Önceden, sitelerin korumalı alana alınmadan eklentileri çalıştırmasına izin verilip verilmeyeceği kontrol ediliyordu. Ancak Chrome 88'de Flash aracı işlemi kaldırıldığında bu iznin artık bir etkisi yoktu. Değer her zaman block. set() ve clear() numaralı telefona yapılan çağrılar yoksayılacak.