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
- 
    doldurmakboolean isteğe bağlı Doğruysa windows.Windownesnesinde,tabs.Tabnesnelerinin listesini içeren birtabsözelliği vardır.Tabnesneleri, yalnızca uzantının manifest dosyasında"tabs"izni varsaurl,pendingUrl,titlevefavIconUrlözelliklerini içerir.
- 
    windowTypesWindowType[] 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
- 
    alwaysOnTopboolean Pencerenin her zaman en üstte olacak şekilde ayarlanıp ayarlanmadığı. 
- 
    odaklıboolean Pencerenin şu anda odaklanılmış pencere olup olmadığı. 
- 
    yüksekliknumber isteğe bağlı Çerçeve dahil pencerenin piksel cinsinden yüksekliği. Bazı durumlarda, bir pencereye heightözelliği atanmayabilir. Örneğin,sessionsAPI'sinden kapalı pencereler sorgulanırken.
- 
    idnumber 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, pencerelersessionsAPI kullanılarak sorgulandığında oturum kimliği mevcut olabilir.
- 
    gizliboolean Pencerenin gizli olup olmadığı 
- 
    solnumber isteğe bağlı Pencerenin ekranın sol kenarından olan ofseti (piksel cinsinden). Bazı durumlarda, bir pencereye leftözelliği atanmayabilir. Örneğin,sessionsAPI'sinden kapalı pencereler sorgulanırken.
- 
    sessionIddize isteğe bağlı Bir pencereyi benzersiz şekilde tanımlamak için kullanılan oturum kimliği, sessionsAPI'sinden alınır.
- 
    durumWindowState isteğe bağlı Bu tarayıcı penceresinin durumu. 
- 
    sekmelerTab[] isteğe bağlı Penceredeki mevcut sekmeleri temsil eden tabs.Tabnesneleri dizisi.
- 
    üstnumber isteğe bağlı Pencerenin ekranın üst kenarından piksel cinsinden ofseti. Bazı durumlarda, bir pencereye topözelliği atanmayabilir. Örneğin,sessionsAPI'sinden kapalı pencereler sorgulanırken.
- 
    türWindowType isteğe bağlı Bu pencerenin türü. 
- 
    genişliknumber isteğe bağlı Çerçeve dahil pencerenin piksel cinsinden genişliği. Bazı durumlarda, bir pencereye widthözelliği atanmayabilir. Örneğin,sessionsAPI'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
- 
    createDataobject isteğe bağlı - 
    odaklıboolean isteğe bağlı trueise etkin bir pencere açılır.falseise etkin olmayan bir pencere açılır.
- 
    yüksekliknumber 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. 
- 
    gizliboolean isteğe bağlı Yeni pencerenin gizli pencere olup olmayacağı. 
- 
    solnumber 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. 
- 
    setSelfAsOpenerboolean isteğe bağlı Chrome 64 veya daha yeni bir sürümtrueise yeni oluşturulan pencerenin "window.opener" özelliği, arayan olarak ayarlanır ve arayanla aynı ilgili tarama bağlamları birimindedir.
- 
    durumWindowState isteğe bağlı Chrome 44 veya daha yeni bir sürümPencerenin başlangıç durumu. minimized,maximizedvefullscreendurumlarıleft,top,widthveyaheightile birleştirilemez.
- 
    tabIdnumber isteğe bağlı Yeni pencereye eklenecek sekmenin kimliği. 
- 
    üstnumber 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ürCreateType isteğe bağlı Ne tür bir tarayıcı penceresi oluşturulacağını belirtir. 
- 
    urlstring | 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şliknumber 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
- 
    windowIdsayı 
- 
    queryOptionsQueryOptions 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
- 
    queryOptionsQueryOptions 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
- 
    queryOptionsQueryOptions 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
- 
    queryOptionsQueryOptions 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
- 
    windowIdsayı 
İ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
- 
    windowIdsayı 
- 
    updateInfonesne - 
    drawAttentionboolean 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 birdrawAttentionisteğini iptal etmek içinfalseolarak ayarlayın.
- 
    odaklıboolean isteğe bağlı trueise 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üksekliknumber isteğe bağlı Pencerenin piksel cinsinden yeniden boyutlandırılacağı yükseklik. Bu değer, paneller için yoksayılır. 
- 
    solnumber 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. 
- 
    durumWindowState 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. 
- 
    üstnumber 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şliknumber 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
- 
    callbackişlev callbackparametresi ş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
- 
    callbackişlev Chrome 46 veya daha yeni bir sürümcallbackparametresi şu şekilde görünür:(window: Window) => void - 
    pencereOluşturulan pencerenin ayrıntıları. 
 
- 
    
- 
    filtrelerobject isteğe bağlı - 
    windowTypesOluş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
- 
    callbackişlev Chrome 46 veya daha yeni bir sürümcallbackparametresi şu şekilde görünür:(windowId: number) => void - 
    windowIdsayı Yeni odaklanan pencerenin kimliği. 
 
- 
    
- 
    filtrelerobject isteğe bağlı - 
    windowTypesPencere 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
- 
    callbackişlev Chrome 46 veya daha yeni bir sürümcallbackparametresi şu şekilde görünür:(windowId: number) => void - 
    windowIdsayı Kaldırılan pencerenin kimliği. 
 
- 
    
- 
    filtrelerobject isteğe bağlı - 
    windowTypesPencere türünün kaldırılması için karşılanması gereken koşullar. Varsayılan olarak ['normal', 'popup']koşulunu karşılar.
 
-