chrome.windows

refresh date: 2026-09-25 robots: noindex

Açıklama

Tarayıcı pencereleriyle etkileşim kurmak için chrome.windows API'sini kullanın. Bu API'yi kullanarak tarayıcıda pencere oluşturabilir, değiştirebilir ve yeniden düzenleyebilirsiniz.

Manifest

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

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

Geçerli pencere

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

Geçerli pencere, o anda yürütülmekte olan kodu içeren penceredir. Bu pencerenin, en üstteki veya odaklanılan pencereden farklı olabileceğini unutmayın.

Ö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() çağrısı içerdiğini varsayalım. Geçerli pencere, en üstteki pencere hangisi olursa olsun çağrıyı yapan sayfayı içeren penceredir.

Hizmet çalışanları 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 olmayabilir.

Örnekler

Her birinde bir sekme olan iki pencere

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

Türler

CreateType

Chrome 44+

Oluşturulacak tarayıcı penceresinin türünü belirtir. "panel" desteği sonlandırıldı ve yalnızca ChromeOS'teki mevcut izin verilenler listesindeki uzantılar tarafından kullanılabilir.

Enum

"normal"
Pencereyi standart bir pencere olarak belirtir.

"popup"
Pencereyi pop-up pencere olarak belirtir.

"panel"
Pencereyi panel olarak belirtir.

QueryOptions

Chrome 88+

Özellikler

  • doldurmak

    boole isteğe bağlı

    Doğru ise windows.Window nesnesinde, tabs.Tab nesnelerinin listesini içeren bir tabs özelliği bulunur. Tab nesneleri, yalnızca uzantının manifest dosyasında "tabs" izni varsa 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

    boole

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

  • odaklı

    boole

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

  • yükseklik

    number isteğe bağlı

    Pencerenin çerçeve dahil piksel cinsinden yüksekliği. Bazı durumlarda bir pencereye height özelliği atanmayabilir. Örneğin, sessions API'sinden kapalı pencereler sorgulanırken.

  • id

    number isteğe bağlı

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

  • gizli mod

    boole

    Pencerenin gizli olup olmadığı.

  • sol

    number isteğe bağlı

    Pencerenin ekranın sol kenarından piksel cinsinden uzaklığı. Bazı durumlarda bir pencereye left özelliği atanmayabilir. Örneğin, sessions API'sinden kapalı pencereler sorgulanırken.

  • sessionId

    string isteğe bağlı

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

  • durum

    WindowState isteğe bağlı

    Bu tarayıcı penceresinin durumu.

  • tabs

    Tab[] isteğe bağlı

    Penceredeki mevcut sekmeleri temsil eden tabs.Tab nesneleri dizisi.

  • üst

    number isteğe bağlı

    Pencerenin ekranın üst kenarından piksel cinsinden uzaklığı. Bazı durumlarda bir pencereye top özelliği atanmayabilir. Örneğin, sessions API'sinden kapalı pencereler sorgulanırken.

  • tür

    WindowType isteğe bağlı

    Tarayıcı penceresinin türü.

  • genişlik

    number isteğe bağlı

    Pencerenin çerçeve dahil piksel cinsinden genişliği. Bazı durumlarda bir pencereye width özelliği atanmayabilir. Örneğin, sessions API'sinden kapalı pencereler sorgulanırken.

WindowState

Chrome 44+

Bu tarayıcı penceresinin durumu. Bazı durumlarda bir pencereye state özelliği atanmayabilir. Örneğin, sessions API'sinden kapalı pencereler sorgulanırken.

Enum

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

"minimized"
Küçültülmüş pencere durumu.

"maximized"
Ekranı kaplamış pencere durumu.

"fullscreen"
Tam ekran pencere durumu.

WindowType

Chrome 44+

Tarayıcı penceresinin türü. Bazı durumlarda bir pencereye type özelliği atanmayabilir. Örneğin, sessions API'sinden kapalı pencereler sorgulanırken.

Enum

"normal"
Normal bir tarayıcı penceresi.

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

"panel"
Bu API'de desteği sonlandırıldı. Chrome Uygulaması panel tarzı pencere. Uzantılar yalnızca kendi panel pencerelerini görebilir.

"app"
Bu API'de desteği sonlandırıldı. Chrome Uygulaması penceresi. Uzantılar yalnızca kendi uygulama 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ı gösteren windowId değeri.

Değer

-1

Yöntemler

create()

Taahhüt
chrome.windows.create(
  createData?: object,
  callback?: function,
)
: Promise<Window | undefined>

İsteğe bağlı boyut, konum veya varsayılan URL ile yeni bir tarayıcı penceresi oluşturur (açar).

Parametreler

  • createData

    isteğe bağlı nesne

    • odaklı

      boole isteğe bağlı

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

    • yükseklik

      number isteğe bağlı

      Yeni pencerenin çerçeve dahil piksel cinsinden yüksekliği. Belirtilmezse varsayılan olarak doğal bir yükseklik kullanılır.

    • gizli mod

      boole isteğe bağlı

      Yeni pencerenin gizli pencere olup olmayacağı.

    • sol

      number isteğe bağlı

      Yeni pencerenin ekranın sol kenarından ne kadar uzağa yerleştirileceğini belirten piksel sayısı. Belirtilmezse yeni pencere, son odaklanılan pencereden doğal olarak kaydırılır. Bu değer, paneller için yok sayılır.

    • setSelfAsOpener

      boole isteğe bağlı

      Chrome 64+

      true ise yeni oluşturulan pencerenin "window.opener" değeri, arayan olarak ayarlanır ve arayanla aynı ilgili tarama bağlamları biriminde yer alır.

    • durum

      WindowState isteğe bağlı

      Chrome 44+

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

    • tabId

      number isteğe bağlı

      Yeni pencereye eklenecek sekmenin kimliği.

    • üst

      number isteğe bağlı

      Yeni pencerenin ekranın üst kenarından ne kadar uzağa yerleştirileceğini belirten piksel sayısı. Belirtilmezse yeni pencere, son odaklanılan pencereden doğal olarak kaydırılır. Bu değer, paneller için yok sayılır.

    • tür

      CreateType isteğe bağlı

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

    • url

      string | string[] isteğe bağlı

      Pencerede sekme olarak açılacak bir 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öreceli olarak kabul edilir. Varsayılan olarak Yeni Sekme Sayfası kullanılır.

    • genişlik

      number isteğe bağlı

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

  • callback

    function 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.

İadeler

  • Promise<Window | undefined>

    Chrome 88+

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

get()

Taahhüt
chrome.windows.get(
  windowId: number,
  queryOptions?: QueryOptions,
  callback?: function,
)
: Promise<Window>

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

Parametreler

  • windowId

    sayı

  • queryOptions

    QueryOptions isteğe bağlı

    Chrome 88+
  • callback

    function isteğe bağlı

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

    (window: Window) => void

İadeler

  • Promise<Window>

    Chrome 88+

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

getAll()

Taahhüt
chrome.windows.getAll(
  queryOptions?: QueryOptions,
  callback?: function,
)
: Promise<Window[]>

Tüm pencereleri alır.

Parametreler

  • queryOptions

    QueryOptions isteğe bağlı

    Chrome 88+
  • callback

    function isteğe bağlı

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

    (windows: Window[]) => void

İadeler

  • Promise<Window[]>

    Chrome 88+

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

getCurrent()

Taahhüt
chrome.windows.getCurrent(
  queryOptions?: QueryOptions,
  callback?: function,
)
: Promise<Window>

Geçerli pencereyi alır.

Parametreler

  • queryOptions

    QueryOptions isteğe bağlı

    Chrome 88+
  • callback

    function isteğe bağlı

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

    (window: Window) => void

İadeler

  • Promise<Window>

    Chrome 88+

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

getLastFocused()

Taahhüt
chrome.windows.getLastFocused(
  queryOptions?: QueryOptions,
  callback?: function,
)
: Promise<Window>

En son odaklanılan pencereyi (genellikle "en üstteki" pencere) alır.

Parametreler

  • queryOptions

    QueryOptions isteğe bağlı

    Chrome 88+
  • callback

    function isteğe bağlı

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

    (window: Window) => void

İadeler

  • Promise<Window>

    Chrome 88+

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

remove()

Taahhüt
chrome.windows.remove(
  windowId: number,
  callback?: function,
)
: Promise<void>

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

Parametreler

  • windowId

    sayı

  • callback

    function isteğe bağlı

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

    () => void

İadeler

  • Promise<void>

    Chrome 88+

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

update()

Taahhüt
chrome.windows.update(
  windowId: number,
  updateInfo: object,
  callback?: function,
)
: Promise<Window>

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

Parametreler

  • windowId

    sayı

  • updateInfo

    nesne

    • drawAttention

      boole isteğe bağlı

      true ise odaklanılan pencereyi değiştirmeden pencerenin, kullanıcının dikkatini çekecek şekilde gösterilmesine neden olur. Efekt, kullanıcı odağı pencereye değiştirene kadar devam eder. Pencere zaten odaktaysa bu seçeneğin bir etkisi olmaz. Önceki bir 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üş" durumuyla birleştirilemez. false ise z sırasındaki bir sonraki pencereyi öne getirir; "tam ekran" veya "büyütülmüş" durumuyla birleştirilemez.

    • yükseklik

      number isteğe bağlı

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

    • sol

      number isteğe bağlı

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

    • durum

      WindowState isteğe bağlı

      Pencerenin yeni durumu. "Küçültülmüş", "büyütülmüş" ve "tam ekran" durumları; "sol", "üst", "genişlik" veya "yükseklik" ile birleştirilemez.

    • üst

      number isteğe bağlı

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

    • genişlik

      number isteğe bağlı

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

  • callback

    function isteğe bağlı

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

    (window: Window) => void

İadeler

  • Promise<Window>

    Chrome 88+

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

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 uygulandığında gönderilir, devam eden değişiklikler için gönderilmez.

Parametreler

  • callback

    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

  • callback

    işlev

    Chrome 46+

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

    (window: Window) => void

    • pencere

      Oluşturulan pencerenin ayrıntıları.

  • filtreler

    isteğe bağlı nesne

    • windowTypes

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

onFocusChanged

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

Odaklanılan pencere değiştiğinde tetiklenir. Tüm Chrome pencereleri odağı kaybettiğinde chrome.windows.WINDOW_ID_NONE değerini döndürür. Not: Bazı Linux pencere yöneticilerinde, bir Chrome penceresinden diğerine geçişten hemen önce her zaman WINDOW_ID_NONE gönderilir.

Parametreler

  • callback

    işlev

    Chrome 46+

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

    (windowId: number) => void

    • windowId

      sayı

      Yeni odaklanılan pencerenin kimliği.

  • filtreler

    isteğe bağlı nesne

    • windowTypes

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

onRemoved

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

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

Parametreler

  • callback

    işlev

    Chrome 46+

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

    (windowId: number) => void

    • windowId

      sayı

      Kaldırılan pencerenin kimliği.

  • filtreler

    isteğe bağlı nesne

    • windowTypes

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