chrome.windows

Açıklama

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

İzinler

İstendiğinde windows.Window, tabs.Tab nesnelerinin bir dizisini 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"],   ... } 

Kavramlar ve kullanım

Geçerli pencere

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

Geçerli pencere, şu anda yürütülen kodu içeren penceredir. Bunun, en üstteki veya odaklanılmış 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. En üstteki pencere ne olursa olsun, geçerli pencere, çağrıyı yapan sayfayı içeren penceredir.

Service worker'lar 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

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

Her biri bir sekmeye sahip iki pencere
Her biri bir sekmeye sahip iki pencere.

Türler

CreateType

Chrome 44 veya daha yeni bir sürüm

Ne tür bir tarayıcı penceresi oluşturulacağını belirtir. "Panel" desteği sonlandırıldı ve yalnızca Chrome OS'teki mevcut izin verilenler listesindeki 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

    boolean isteğe bağlı

    Doğruysa windows.Window nesnesinde, tabs.Tab nesnelerinin listesini içeren bir tabs özelliği vardır. 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. Ayarlanmamışsa varsayılan filtre ['normal', 'popup'] olarak ayarlanır.

Window

Özellikler

  • alwaysOnTop

    boolean

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

  • odaklı

    boolean

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

  • yükseklik

    number isteğe bağlı

    Çerçeve dahil pencerenin 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ı oturumu içinde benzersizdir. Bazı durumlarda bir pencereye ID özelliği atanmayabilir. Örneğin, pencereler sessions API kullanılarak sorgulandığında oturum kimliği mevcut olabilir.

  • gizli

    boolean

    Pencerenin gizli olup olmadığı

  • sol

    number isteğe bağlı

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

  • sessionId

    dize isteğe bağlı

    Bir pencereyi benzersiz şekilde tanımlamak için kullanılan oturum kimliği, sessions API'sinden alınır.

  • durum

    WindowState isteğe bağlı

    Bu tarayıcı penceresinin durumu.

  • sekmeler

    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 ofseti. Bazı durumlarda, bir pencereye top özelliği atanmayabilir. Örneğin, sessions API'sinden kapalı pencereler sorgulanırken.

  • tür

    WindowType isteğe bağlı

    Bu pencerenin türü.

  • genişlik

    number isteğe bağlı

    Çerçeve dahil pencerenin 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 veya daha yeni bir sürüm

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

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

"maximized"
Pencere durumu maksimize edildi.

"fullscreen"
Tam ekran pencere durumu.

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

WindowType

Chrome 44 veya daha yeni bir sürüm

Bu pencerenin tarayıcı penceresi türü. Bazı durumlarda, 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 kullanımdan kaldırıldı. Chrome uygulaması panel tarzı penceresi. 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()

chrome.windows.create(
  createData?: object,
)
: Promise<Window | undefined>

Belirtilen isteğe bağlı boyutlandırma, konum veya varsayılan URL ile yeni bir tarayıcı penceresi oluşturur (açılır).

Parametreler

  • createData

    object isteğe bağlı

    • odaklı

      boolean isteğe bağlı

      true ise etkin bir pencere açılır. false ise etkin olmayan bir pencere açılır.

    • yükseklik

      number isteğe bağlı

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

    • gizli

      boolean isteğe bağlı

      Yeni pencerenin gizli pencere olup olmayacağı.

    • sol

      number isteğe bağlı

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

    • setSelfAsOpener

      boolean isteğe bağlı

      Chrome 64 veya daha yeni bir sürüm

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

    • durum

      WindowState isteğe bağlı

      Chrome 44 veya daha yeni bir sürüm

      Pencerenin başlangıç 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 konumlandırılacağı piksel sayısı. Belirtilmezse yeni pencere, son odaklanılan pencereden doğal olarak kaydırılır. Bu değer, paneller için yoksayılır.

    • tür

      CreateType isteğe bağlı

      Ne tür bir tarayıcı penceresi oluşturulacağı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. Örneğin: "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.

İadeler

  • Promise<Window | undefined>

    Chrome 88 ve sonraki sürümler

get()

chrome.windows.get(
  windowId: number,
  queryOptions?: QueryOptions,
)
: Promise<Window>

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

Parametreler

  • windowId

    sayı

  • queryOptions

    QueryOptions isteğe bağlı

    Chrome 88 ve sonraki sürümler

İadeler

  • Promise<Window>

    Chrome 88 ve sonraki sürümler

getAll()

chrome.windows.getAll(
  queryOptions?: QueryOptions,
)
: Promise<Window[]>

Tüm pencereleri alır.

Parametreler

  • queryOptions

    QueryOptions isteğe bağlı

    Chrome 88 ve sonraki sürümler

İadeler

  • Promise<Window[]>

    Chrome 88 ve sonraki sürümler

getCurrent()

chrome.windows.getCurrent(
  queryOptions?: QueryOptions,
)
: Promise<Window>

Geçerli pencereyi alır.

Parametreler

  • queryOptions

    QueryOptions isteğe bağlı

    Chrome 88 ve sonraki sürümler

İadeler

  • Promise<Window>

    Chrome 88 ve sonraki sürümler

getLastFocused()

chrome.windows.getLastFocused(
  queryOptions?: QueryOptions,
)
: Promise<Window>

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

Parametreler

  • queryOptions

    QueryOptions isteğe bağlı

    Chrome 88 ve sonraki sürümler

İadeler

  • Promise<Window>

    Chrome 88 ve sonraki sürümler

remove()

chrome.windows.remove(
  windowId: number,
)
: Promise<void>

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

Parametreler

  • windowId

    sayı

İadeler

  • Promise<void>

    Chrome 88 ve sonraki sürümler

update()

chrome.windows.update(
  windowId: number,
  updateInfo: object,
)
: 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

      boolean isteğe bağlı

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

    • odaklı

      boolean isteğe bağlı

      true ise pencereyi öne getirir; "küçültülmüş" durumuyla birleştirilemez. false, z-sırasındaki bir sonraki pencereyi öne getirir; "fullscreen" (tam ekran) veya "maximized" (ekranı kapla) durumuyla birleştirilemez.

    • yükseklik

      number isteğe bağlı

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

    • sol

      number isteğe bağlı

      Pencereyi taşımak için ekranın sol kenarından olan ofset (piksel cinsinden). Bu değer, paneller için yoksayı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ı

      Pencereyi taşımak için ekranın üst kenarından olan ofset (piksel cinsinden). Bu değer, paneller için yoksayılır.

    • genişlik

      number isteğe bağlı

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

İadeler

  • Promise<Window>

    Chrome 88 ve sonraki sürümler

Etkinlikler

onBoundsChanged

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

Bir pencerenin boyutu yeniden ayarlandığında tetiklenir. Bu etkinlik yalnızca yeni sınırlar kaydedildiğinde gönderilir ve 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 veya daha yeni bir sürüm

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

    (window: Window) => void

    • pencere

      Oluşturulan pencerenin ayrıntıları.

  • filtreler

    object isteğe bağlı

    • 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 veya daha yeni bir sürüm

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

    (windowId: number) => void

    • windowId

      sayı

      Yeni odaklanan pencerenin kimliği.

  • filtreler

    object isteğe bağlı

    • windowTypes

      Pencere türünün kaldırılması için karşılanması 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 veya daha yeni bir sürüm

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

    (windowId: number) => void

    • windowId

      sayı

      Kaldırılan pencerenin kimliği.

  • filtreler

    object isteğe bağlı

    • windowTypes

      Pencere türünün kaldırılması için karşılanması gereken koşullar. Varsayılan olarak ['normal', 'popup'] koşulunu karşılar.