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](https://developer.chrome.google.cn/static/docs/extensions/reference/api/windows/images/windows.png?authuser=5&hl=tr)
Türler
CreateType
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
Özellikler
-
doldurmak
boole isteğe bağlı
Doğru ise
windows.Window
nesnesi,tabs.Tab
nesnelerinin listesini içeren birtabs
özelliğine sahiptir. Uzantının manifest dosyası"tabs"
iznini içeriyorsaTab
nesneleri yalnızcaurl
,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. 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 pencereyeheight
ö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 pencereyeID
özelliği atanmayabilir. Böyle bir durumda oturum kimliği mevcut olabilir. -
gizli
boolean
Pencerenin gizli olup olmadığı.
-
Sol kısım
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 pencereyeleft
ö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. -
Üst kısım
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 pencereyetop
ö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 pencereyewidth
özelliği atanmayabilir.
WindowState
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
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()
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 kısım
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ümlertrue
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ümlerPencerenin ilk durumu.
minimized
,maximized
vefullscreen
durumlarıleft
,top
,width
veyaheight
ile birleştirilemez. -
tabId
numara isteğe bağlı
Yeni pencereye eklenecek sekmenin kimliği.
-
Üst kısım
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[] isteğe bağlı
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
-
Promise<Window | undefined>
Chrome 88 ve sonraki sürümlerVaatler, 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()
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
-
pencere
-
İlerlemeler
-
Söz<Pencere>
Chrome 88 ve sonraki sürümlerVaatler, 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()
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
-
pencereler
Pencere[]
-
İlerlemeler
-
Söz<Pencere[]>
Chrome 88 ve sonraki sürümlerVaatler, 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()
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
-
pencere
-
İlerlemeler
-
Söz<Pencere>
Chrome 88 ve sonraki sürümlerVaatler, 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()
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
-
pencere
-
İlerlemeler
-
Söz<Pencere>
Chrome 88 ve sonraki sürümlerVaatler, 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()
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ümlerVaatler, 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()
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. ÖncekidrawAttention
isteğini iptal etmek içinfalse
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 kısım
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.
-
Üst kısım
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
-
pencere
-
İlerlemeler
-
Söz<Pencere>
Chrome 88 ve sonraki sürümlerVaatler, 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.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
-
pencere
-
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ümlercallback
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ümlercallback
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ümlercallback
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.
-