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.

Türler
CreateType
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
Özellikler
- doldurmak
boolean isteğe bağlı
Doğruysa
windows.Window
nesnesinde,tabs.Tab
nesnelerinin listesini içeren birtabs
özelliği vardır.Tab
nesneleri, yalnızca uzantının manifest dosyasında"tabs"
izni varsaurl
,pendingUrl
,title
vefavIconUrl
ö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, pencerelersessions
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
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
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ümtrue
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ümPencerenin başlangıç durumu.
minimized
,maximized
vefullscreen
durumlarıleft
,top
,width
veyaheight
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 birdrawAttention
isteğini iptal etmek içinfalse
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.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
- pencere
-
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ümcallback
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ümcallback
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ümcallback
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.
-