chrome.windows

Açıklama

Tarayıcı pencereleriyle etkileşim kurmak için chrome.windows API'yi kullanın. Bu API'yı tarayıcıda pencere oluşturmak, değiştirmek ve yeniden düzenlemek için kullanabilirsiniz.

İzinler

İstendiğinde windows.Window, tabs.Tab nesne dizisi içerir. tabs.Tab öğesinin url, pendingUrl, title veya favIconUrl özelliklerine erişmeniz gerekiyorsa manifestinizde "tabs" iznini beyan etmeniz gerekir. Örneğin:

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

Kavramlar ve kullanım

Geçerli pencere

Uzantı sistemindeki birçok işlev, isteğe bağlı bir windowId bağımsız değişkeni alır. Bu bağımsız değişken varsayılan olarak geçerli pencereye ayarlanır.

Geçerli pencere, çalıştırılmakta olan kodu içeren penceredir. Bunun, en üstteki veya odaklanılan pencereden farklı olabileceğini unutmamak önemlidir.

Örneğin, bir uzantının tek bir HTML dosyasından birkaç sekme veya pencere oluşturduğunu ve HTML dosyasının tabs.query() öğesine bir çağrı içerdiğini düşünelim. Mevcut pencere, en üstteki pencere ne olursa olsun çağrıyı yapan sayfayı içeren penceredir.

Service Works söz konusu olduğunda geçerli pencerenin değeri son etkin pencereye geri döner. Bazı durumlarda, arka plan sayfaları için geçerli bir pencere açılamayabilir.

Örnekler

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

Her birinde bir sekme bulunan iki pencere
Her birinde bir sekme bulunan iki pencere.

Türler

CreateType

Chrome 44 ve sonraki sürümler

Oluşturulacak tarayıcı penceresinin türünü belirtir. "panel" için destek sonlandırılmıştır ve yalnızca Chrome OS'te izin verilenler listesine eklenmiş mevcut uzantılar tarafından kullanılabilir.

Enum

"normal"
Pencereyi standart pencere olarak belirtir.

"popup"
Pencereyi pop-up pencere olarak belirtir.

"panel"
Pencereyi panel olarak belirtir.

QueryOptions

Chrome 88 ve sonraki sürümler

Özellikler

  • doldurmak

    boole isteğe bağlı

    Doğru ise windows.Window nesnesi, tabs.Tab nesnelerinin listesini içeren bir tabs özelliğine sahiptir. Uzantının manifest dosyası "tabs" iznini içeriyorsa Tab nesneleri yalnızca url, pendingUrl, title ve favIconUrl özelliklerini içerir.

  • windowTypes

    WindowType[] isteğe bağlı

    Ayarlanırsa döndürülen windows.Window, türüne göre filtrelenir. Ayarlanmazsa varsayılan filtre ['normal', 'popup'] olarak ayarlanır.

Window

Özellikler

  • alwaysOnTop

    boolean

    Pencerenin her zaman üstte olacak şekilde ayarlanıp ayarlanmadığı.

  • odaklı

    boolean

    Pencerenin şu anda odaklanılmış pencere olup olmadığı.

  • yükseklik

    numara isteğe bağlı

    Çerçeve de dahil olmak üzere pencerenin piksel cinsinden yüksekliği. Bazı durumlarda (örneğin, sessions API'sinden kapalı pencereleri sorgularken) bir pencereye height özelliği atanmayabilir.

  • id

    numara isteğe bağlı

    Pencerenin kimliği. Pencere kimlikleri, tarayıcı oturumunda benzersizdir. Bazı durumlarda (örneğin, sessions API'sini kullanarak pencereleri sorgularken) bir pencereye ID özelliği atanmayabilir. Böyle bir durumda oturum kimliği mevcut olabilir.

  • gizli

    boolean

    Pencerenin gizli olup olmadığı.

  • sol

    numara isteğe bağlı

    Pencerenin ekranın sol kenarından uzaklığının piksel cinsinden belirtimi. Bazı durumlarda (örneğin, sessions API'sinden kapalı pencereleri sorgularken) bir pencereye left özelliği atanmayabilir.

  • sessionId

    string isteğe bağlı

    Bir pencereyi benzersiz bir şekilde tanımlamak için kullanılan ve sessions API'den alınan oturum kimliği.

  • state

    WindowState isteğe bağlı

    Bu tarayıcı penceresinin durumu.

  • sekmeler

    Sekme[] isteğe bağlı

    Penceredeki mevcut sekmeleri temsil eden tabs.Tab nesne dizisi.

  • ilk yarı

    numara isteğe bağlı

    Pencerenin ekranın üst kenarından uzaklığının piksel cinsinden belirtimi. Bazı durumlarda (örneğin, sessions API'sinden kapalı pencereleri sorgularken) bir pencereye top özelliği atanmayabilir.

  • tür

    WindowType isteğe bağlı

    Bunun tarayıcı penceresinin türü.

  • genişlik

    numara isteğe bağlı

    Çerçeve de dahil olmak üzere pencerenin piksel cinsinden genişliği. Bazı durumlarda (örneğin, sessions API'sinden kapalı pencereleri sorgularken) bir pencereye width özelliği atanmayabilir.

WindowState

Chrome 44 ve sonraki sürümler

Bu tarayıcı penceresinin durumu. Bazı durumlarda (örneğin, sessions API'sinden kapalı pencereleri sorgularken) bir pencereye state özelliği atanmayabilir.

Enum

"normal"
Normal pencere durumu (küçültülmüş, tam ekran veya tam ekran değil).

"minimized"
Simge durumuna küçültülmüş pencere durumu.

"maximized"
Büyütülmüş pencere durumu.

"fullscreen"
Tam ekran pencere durumu.

"locked-fullscreen"
Kilitli tam ekran pencere durumu. Kullanıcı işlemiyle bu tam ekran durumundan çıkılamaz ve yalnızca Chrome OS'te izin verilenler listesindeki uzantılar tarafından kullanılabilir.

WindowType

Chrome 44 ve sonraki sürümler

Bunun tarayıcı penceresi türüdür. Bazı durumlarda (örneğin, sessions API'sinden kapalı pencereleri sorgularken) bir pencereye type özelliği atanmayabilir.

Enum

"normal"
Normal bir tarayıcı penceresi.

"popup"
Tarayıcı pop-up'ı.

"panel"
Bu API'de kullanımdan kaldırıldı. Chrome Uygulaması panel tarzında pencere. Uzantılar yalnızca kendi panel pencerelerini görebilir.

"app"
Bu API'de kullanımdan kaldırıldı. Bir Chrome Uygulaması penceresi. Uzantılar yalnızca kendi uygulamalarının pencerelerini görebilir.

"devtools"
Geliştirici Araçları penceresi.

Özellikler

WINDOW_ID_CURRENT

Geçerli pencereyi temsil eden windowId değeri.

Değer

-2

WINDOW_ID_NONE

Chrome tarayıcı penceresinin olmadığını temsil eden windowId değeri.

Değer

-1

Yöntemler

create()

Söz
chrome.windows.create(
  createData?: object,
  callback?: function,
)

İsteğe bağlı boyutlandırma, konum veya varsayılan URL sağlanmış olarak yeni bir tarayıcı penceresi oluşturur (açar).

Parametreler

  • createData

    isteğe bağlı

    • odaklı

      boole isteğe bağlı

      true ise etkin bir pencere açar. false ise etkin olmayan bir pencere açar.

    • yükseklik

      numara isteğe bağlı

      Çerçeve de dahil olmak üzere yeni pencerenin piksel cinsinden yüksekliği. Belirtilmezse varsayılan olarak doğal yüksekliğe ayarlanır.

    • gizli

      boole isteğe bağlı

      Yeni pencerenin gizli pencere olup olmayacağı.

    • sol

      numara isteğe bağlı

      Yeni pencerenin, ekranın sol kenarından konumlandırılacağı piksel sayısı. Belirtilmezse yeni pencere, son odaklanılan pencereden doğal olarak uzaklaştırılır. Bu değer, paneller için yoksayılır.

    • setSelfAsOpener

      boole isteğe bağlı

      Chrome 64 ve sonraki sürümler

      true ise yeni oluşturulan pencerenin "window.opener" öğesi, arayan olarak ayarlanır ve arayanla aynı ilgili tarama bağlamları biriminde olur.

    • state

      WindowState isteğe bağlı

      Chrome 44 ve sonraki sürümler

      Pencerenin ilk durumu. minimized, maximized ve fullscreen durumları left, top, width veya height ile birleştirilemez.

    • tabId

      numara isteğe bağlı

      Yeni pencereye eklenecek sekmenin kimliği.

    • ilk yarı

      numara isteğe bağlı

      Yeni pencerenin, ekranın üst kenarından konumlandırılacağı piksel sayısı. Belirtilmezse yeni pencere, son odaklanılan pencereden doğal olarak uzaklaştırılır. Bu değer, paneller için yoksayılır.

    • tür

      CreateType isteğe bağlı

      Oluşturulacak tarayıcı penceresinin türünü belirtir.

    • url

      string|string[] optional

      Pencerede sekme olarak açılacak URL veya URL dizisi. Tam nitelikli URL'ler bir şema içermelidir (ör. 'www.google.com' değil, 'http://www.google.com'. Tam nitelikli olmayan URL'ler uzantı içinde göreli kabul edilir. Varsayılan olarak Yeni Sekme Sayfası kullanılır.

    • genişlik

      numara isteğe bağlı

      Çerçeve de dahil olmak üzere yeni pencerenin piksel cinsinden genişliği. Belirtilmezse varsayılan olarak doğal genişliğe ayarlanır.

  • geri çağırma

    Functions (isteğe bağlı)

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

    (window?: Window)=>void

    • pencere

      Pencere isteğe bağlı

      Oluşturulan pencereyle ilgili ayrıntıları içerir.

İlerlemeler

  • Söz<Pencere|undefined>

    Chrome 88 ve sonraki sürümler

    Vaatler, Manifest V3 ve sonraki sürümlerde desteklenir ancak geriye dönük uyumluluk için geri çağırmalar sağlanır. Aynı işlev çağrısında ikisini birden kullanamazsınız. Vaat, geri çağırmaya iletilen aynı türle çözümlenir.

get()

Söz
chrome.windows.get(
  windowId: number,
  queryOptions?: QueryOptions,
  callback?: function,
)

Bir pencereyle ilgili ayrıntıları alır.

Parametreler

  • windowId

    sayı

  • queryOptions

    QueryOptions (isteğe bağlı): İsteğe bağlı

    Chrome 88 ve sonraki sürümler
  • geri çağırma

    Functions (isteğe bağlı)

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

    (window: Window)=>void

İlerlemeler

  • Söz<Pencere>

    Chrome 88 ve sonraki sürümler

    Vaatler, Manifest V3 ve sonraki sürümlerde desteklenir ancak geriye dönük uyumluluk için geri çağırmalar sağlanır. Aynı işlev çağrısında ikisini birden kullanamazsınız. Vaat, geri çağırmaya iletilen aynı türle çözümlenir.

getAll()

Söz
chrome.windows.getAll(
  queryOptions?: QueryOptions,
  callback?: function,
)

Tüm pencereleri alır.

Parametreler

  • queryOptions

    QueryOptions (isteğe bağlı): İsteğe bağlı

    Chrome 88 ve sonraki sürümler
  • geri çağırma

    Functions (isteğe bağlı)

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

    (windows: Window[])=>void

İlerlemeler

  • Söz<Pencere[]>

    Chrome 88 ve sonraki sürümler

    Vaatler, Manifest V3 ve sonraki sürümlerde desteklenir ancak geriye dönük uyumluluk için geri çağırmalar sağlanır. Aynı işlev çağrısında ikisini birden kullanamazsınız. Vaat, geri çağırmaya iletilen aynı türle çözümlenir.

getCurrent()

Söz
chrome.windows.getCurrent(
  queryOptions?: QueryOptions,
  callback?: function,
)

Geçerli pencereyi getirir.

Parametreler

  • queryOptions

    QueryOptions (isteğe bağlı): İsteğe bağlı

    Chrome 88 ve sonraki sürümler
  • geri çağırma

    Functions (isteğe bağlı)

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

    (window: Window)=>void

İlerlemeler

  • Söz<Pencere>

    Chrome 88 ve sonraki sürümler

    Vaatler, Manifest V3 ve sonraki sürümlerde desteklenir ancak geriye dönük uyumluluk için geri çağırmalar sağlanır. Aynı işlev çağrısında ikisini birden kullanamazsınız. Vaat, geri çağırmaya iletilen aynı türle çözümlenir.

getLastFocused()

Söz
chrome.windows.getLastFocused(
  queryOptions?: QueryOptions,
  callback?: function,
)

En son odaklanılan pencereyi (genellikle 'en üstte') getirir.

Parametreler

  • queryOptions

    QueryOptions (isteğe bağlı): İsteğe bağlı

    Chrome 88 ve sonraki sürümler
  • geri çağırma

    Functions (isteğe bağlı)

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

    (window: Window)=>void

İlerlemeler

  • Söz<Pencere>

    Chrome 88 ve sonraki sürümler

    Vaatler, Manifest V3 ve sonraki sürümlerde desteklenir ancak geriye dönük uyumluluk için geri çağırmalar sağlanır. Aynı işlev çağrısında ikisini birden kullanamazsınız. Vaat, geri çağırmaya iletilen aynı türle çözümlenir.

remove()

Söz
chrome.windows.remove(
  windowId: number,
  callback?: function,
)

Bir pencereyi ve içindeki tüm sekmeleri kaldırır (kapatır).

Parametreler

  • windowId

    sayı

  • geri çağırma

    Functions (isteğe bağlı)

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

    ()=>void

İlerlemeler

  • Promise<void>

    Chrome 88 ve sonraki sürümler

    Vaatler, Manifest V3 ve sonraki sürümlerde desteklenir ancak geriye dönük uyumluluk için geri çağırmalar sağlanır. Aynı işlev çağrısında ikisini birden kullanamazsınız. Vaat, geri çağırmaya iletilen aynı türle çözümlenir.

update()

Söz
chrome.windows.update(
  windowId: number,
  updateInfo: object,
  callback?: function,
)

Bir pencerenin özelliklerini günceller. Yalnızca değiştirilecek özellikleri belirtin. Belirtilmemiş özellikler değiştirilmez.

Parametreler

  • windowId

    sayı

  • updateInfo

    nesne

    • drawAttention

      boole isteğe bağlı

      true ise pencerenin, odaklanılan pencere değiştirilmeden kullanıcının dikkatini pencereye çekecek şekilde görüntülenmesine neden olur. Bu etki, kullanıcı odağı pencereye değiştirene kadar devam eder. Pencere zaten odaklanmışsa bu seçeneğin herhangi bir etkisi yoktur. Önceki drawAttention isteğini iptal etmek için false olarak ayarlayın.

    • odaklı

      boole isteğe bağlı

      true ise pencereyi öne getirir; 'küçültülmüş' durumu ile birleştirilemez. false ise z sırasında bir sonraki pencereyi öne getirir; "tam ekran" veya "tam ekran" durumuyla birleştirilemez.

    • yükseklik

      numara isteğe bağlı

      Pencerenin piksel cinsinden yeniden boyutlandırılacağı yükseklik. Bu değer, paneller için yoksayılır.

    • sol

      numara isteğe bağlı

      Pencerenin piksel cinsinden taşınacağı ekranın sol kenarından uzaklık. Bu değer, paneller için yoksayılır.

    • state

      WindowState isteğe bağlı

      Pencerenin yeni durumu. "Minimized" (Küçültülmüş), "maximized" (tam ekran) ve "fullscreen" (tam ekran) durumları "left", "top", "width" veya "height" ile birleştirilemez.

    • ilk yarı

      numara isteğe bağlı

      Pencerenin piksel cinsinden taşınması için ekranın üst kenarından uzaklık. Bu değer, paneller için yoksayılır.

    • genişlik

      numara isteğe bağlı

      Pencerenin piksel cinsinden yeniden boyutlandırılacağı genişlik. Bu değer, paneller için yoksayılır.

  • geri çağırma

    Functions (isteğe bağlı)

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

    (window: Window)=>void

İlerlemeler

  • Söz<Pencere>

    Chrome 88 ve sonraki sürümler

    Vaatler, Manifest V3 ve sonraki sürümlerde desteklenir ancak geriye dönük uyumluluk için geri çağırmalar sağlanır. Aynı işlev çağrısında ikisini birden kullanamazsınız. Vaat, geri çağırmaya iletilen aynı türle çözümlenir.

Etkinlikler

onBoundsChanged

Chrome 86 ve sonraki sürümler
chrome.windows.onBoundsChanged.addListener(
  callback: function,
)

Bir pencere yeniden boyutlandırıldığında tetiklenir. Bu etkinlik yalnızca yeni sınırlar belirlendiğinde gönderilir ve devam etmekte olan değişiklikler için gönderilmez.

Parametreler

  • geri çağırma

    işlev

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

    (window: Window)=>void

onCreated

chrome.windows.onCreated.addListener(
  callback: function,
  filters?: object,
)

Bir pencere oluşturulduğunda tetiklenir.

Parametreler

  • geri çağırma

    işlev

    Chrome 46 ve sonraki sürümler

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

    (window: Window)=>void

    • pencere

      Oluşturulan pencereyle ilgili ayrıntılar.

  • filtreler

    isteğe bağlı

    • windowTypes

      Oluşturulan pencere türünün karşılaması gereken koşullar. Varsayılan olarak ['normal', 'popup'] şartlarını karşılar.

onFocusChanged

chrome.windows.onFocusChanged.addListener(
  callback: function,
  filters?: object,
)

Geçerli olarak odaklanılmış pencere değiştiğinde tetiklenir. Tüm Chrome pencerelerine odak kaybedilirse chrome.windows.WINDOW_ID_NONE değerini döndürür. Not: Bazı Linux pencere yöneticilerinde WINDOW_ID_NONE, bir Chrome penceresinden diğerine geçişten hemen önce her zaman gönderilir.

Parametreler

  • geri çağırma

    işlev

    Chrome 46 ve sonraki sürümler

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

    (windowId: number)=>void

    • windowId

      sayı

      Yeni odaklanılan pencerenin kimliği.

  • filtreler

    isteğe bağlı

    • windowTypes

      Kaldırılan pencere türünün karşılaması gereken koşullar. Varsayılan olarak ['normal', 'popup'] şartlarını karşılar.

onRemoved

chrome.windows.onRemoved.addListener(
  callback: function,
  filters?: object,
)

Bir pencere kaldırıldığında (kapatıldığında) tetiklenir.

Parametreler

  • geri çağırma

    işlev

    Chrome 46 ve sonraki sürümler

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

    (windowId: number)=>void

    • windowId

      sayı

      Kaldırılan pencerenin kimliği.

  • filtreler

    isteğe bağlı

    • windowTypes

      Kaldırılan pencere türünün karşılaması gereken koşullar. Varsayılan olarak ['normal', 'popup'] şartlarını karşılar.