Açıklama
Tarayıcı pencereleriyle etkileşimde bulunmak için chrome.windows
API'yi kullanın. Tarayıcıda pencereler oluşturmak, değiştirmek ve yeniden düzenlemek için bu API'yi kullanabilirsiniz.
İzinler
İstendiğinde bir windows.Window
, tabs.Tab
nesne dizisi içerir. Şunu yapmalısınız:
url
dokümanına erişmeniz gerekiyorsa manifest'inizde "tabs"
iznini beyan edin.
tabs.Tab
öğesinin pendingUrl
, title
veya favIconUrl
mülkleri. Ö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
penceredeki belirir.
Geçerli pencere, o anda yürütülen kodu içeren penceredir. İnsanların bunun 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ı, tabs.query()
için bir çağrı içeriyor. Geçerli pencere,
en üstteki pencerenin ne olduğu fark etmeksizin, aramayı yapan kullanıcı sayfasına ait veriler bulunur.
Service çalışanları için geçerli zaman aralığının değeri, son etkin olan zaman aralığına döner. penceresini kapatın. Bazı durumlarda, arka plan sayfaları için geçerli bir pencere olmayabilir.
Örnekler
Bu API'yi denemek için chrome-extension-samples bölümünden Windows API örneğini yükleyin. depodur.
Türler
CreateType
Ne tür bir tarayıcı penceresinin oluşturulduğunu belirtir. "panel" desteği sonlandırıldı ve yalnızca Chrome OS'te izin verilenler listesindeki mevcut 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
Özellikler
-
doldurmak
boole isteğe bağlı
Doğru değerine ayarlanırsa
windows.Window
nesnesi,tabs.Tab
nesnelerinin listesini içeren birtabs
özelliğine sahiptir.Tab
nesneleri yalnızca, uzantının manifest dosyası"tabs"
iznini içeriyorsaurl
,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. Ayarlanmadan bırakılırsa varsayılan filtre['normal', 'popup']
olarak ayarlanır.
Window
Özellikler
-
alwaysOnTop
boolean
Pencerenin her zaman üstte olacak şekilde ayarlanıp ayarlanmadığı.
-
odaklı
boolean
Pencerenin o sırada odaklanılan pencere olup olmadığı.
-
yükseklik
sayı isteğe bağlı
Çerçeve de dahil olmak üzere pencerenin piksel cinsinden yüksekliği. Bazı durumlarda bir aralığa
height
özelliği atanamayabilir; Örneğin, kapalı pencerelerisessions
API'sinden sorgular. -
id
sayı isteğe bağlı
Pencerenin kimliği. Pencere kimlikleri, tarayıcı oturumunda benzersizdir. Bazı durumlarda bir aralığa
ID
özelliği atanamayabilir; Örneğin,sessions
API'yi kullanarak pencereleri sorgularken oturum kimliği bulunabilir. -
gizli
boolean
Pencerenin gizli olup olmadığı.
-
sol
sayı isteğe bağlı
Pencerenin, ekranın sol kenarından piksel cinsinden uzaklığı. Bazı durumlarda bir aralığa
left
özelliği atanamayabilir; Örneğin, kapalı pencerelerisessions
API'sinden sorgular. -
sessionId
dize isteğe bağlı
Bir pencereyi benzersiz şekilde tanımlamak için kullanılan ve
sessions
API'den alınan oturum kimliği. -
durum
WindowState isteğe bağlı
Bu tarayıcı penceresinin durumu.
-
sekmeler
Sekme[] isteğe bağlı
Penceredeki mevcut sekmeleri temsil eden
tabs.Tab
nesneleri dizisi. -
üst
sayı isteğe bağlı
Pencerenin, ekranın üst kenarından uzaklığının piksel cinsinden değeri. Bazı durumlarda bir aralığa
top
özelliği atanamayabilir; Örneğin, kapalı pencerelerisessions
API'sinden sorgular. -
tür
WindowType isteğe bağlı
Bu tarayıcı penceresinin türü.
-
genişlik
sayı isteğe bağlı
Çerçeve de dahil olmak üzere pencerenin piksel cinsinden genişliği. Bazı durumlarda bir aralığa
width
özelliği atanamayabilir; Örneğin, kapalı pencerelerisessions
API'sinden sorgular.
WindowState
Bu tarayıcı penceresinin durumu. Bazı durumlarda bir aralığa state
özelliği atanamayabilir; Örneğin, kapalı pencereleri sessions
API'sinden sorgular.
Enum
"normal"
Normal pencere durumu (küçültülmüş, büyütülmüş veya tam ekran değil).
"minimized"
Küçültülmüş pencere durumu.
"maximized"
Büyütülmüş pencere durumu.
"tam ekran"
Tam ekran pencere durumu.
"locked-fullscreen"
Kilitli tam ekran pencere durumu. Kullanıcı işlemi, bu tam ekran durumundan çıkılamaz ve yalnızca Chrome OS'teki izin verilenler listesine eklenmiş uzantılar tarafından kullanılabilir.
WindowType
Bu tarayıcı penceresinin türü. Bazı durumlarda bir aralığa type
özelliği atanamayabilir; Örneğin, kapalı pencereleri sessions
API'sinden sorgular.
Enum
"normal"
Normal bir tarayıcı penceresi.
"popup"
Bir tarayıcı pop-up'ı.
"panel"
Bu API'de desteği sonlandırıldı. Chrome Uygulaması panel stilindeki bir 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 uygulamalarının kendi 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 yokluğunu 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 ile yeni bir tarayıcı penceresi oluşturur (açılır).
Parametreler
-
createData
nesne 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
sayı isteğe bağlı
Çerçeve de dahil olmak üzere yeni pencerenin piksel cinsinden yüksekliği. Belirtilmezse varsayılan olarak doğal bir yüksekliğe ayarlanır.
-
gizli
boole isteğe bağlı
Yeni pencerenin gizli bir pencere olup olmayacağı.
-
sol
sayı 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ümler 'nı inceleyin.true
ise yeni oluşturulan pencerenin "window.opener" ayarı arayana ayarlanır ve arayanla aynı ilgili göz atma bağlamları biriminde yer alır. -
durum
WindowState isteğe bağlı
Chrome 44 ve sonraki sürümler 'nı inceleyin.Pencerenin ilk durumu.
minimized
,maximized
vefullscreen
durumlarıleft
,top
,width
veyaheight
ile birleştirilemez. -
tabId
sayı isteğe bağlı
Yeni pencereye eklenecek sekmenin kimliği.
-
üst
sayı 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ı
Ne tür bir tarayıcı penceresinin oluşturulduğunu belirtir.
-
url
string | string[] isteğe bağlı
Pencerede sekmeler halinde 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 değerlendirilir. Varsayılan olarak Yeni Sekme Sayfası kullanılır.
-
genişlik
sayı isteğe bağlı
Çerçeve de dahil olmak üzere yeni pencerenin piksel cinsinden genişliği. Belirtilmezse varsayılan olarak doğal bir genişliğe ayarlanır.
-
-
geri çağırma
işlev 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 | tanımlanmadı>
Chrome 88 ve sonraki sürümler 'nı inceleyin.Manifest V3 ve sonraki sürümlerde vaatler desteklenir ancak geriye dönük uyumluluk Aynı işlev çağrısında ikisini birden kullanamazsınız. İlgili içeriği oluşturmak için kullanılan taahhüt, 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ı
Chrome 88 ve sonraki sürümler 'nı inceleyin. -
geri çağırma
işlev isteğe bağlı
callback
parametresi şu şekilde görünür:(window: Window) => void
-
pencere
-
İadeler
-
Promise<Window>
Chrome 88 ve sonraki sürümler 'nı inceleyin.Manifest V3 ve sonraki sürümlerde vaatler desteklenir ancak geriye dönük uyumluluk Aynı işlev çağrısında ikisini birden kullanamazsınız. İlgili içeriği oluşturmak için kullanılan taahhüt, 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ı
Chrome 88 ve sonraki sürümler 'nı inceleyin. -
geri çağırma
işlev isteğe bağlı
callback
parametresi şu şekilde görünür:(windows: Window[]) => void
-
pencereler
Pencere[]
-
İadeler
-
Promise<Window[]>
Chrome 88 ve sonraki sürümler 'nı inceleyin.Manifest V3 ve sonraki sürümlerde vaatler desteklenir ancak geriye dönük uyumluluk Aynı işlev çağrısında ikisini birden kullanamazsınız. İlgili içeriği oluşturmak için kullanılan taahhüt, geri çağırmaya iletilen aynı türle çözümlenir.
getCurrent()
chrome.windows.getCurrent(
queryOptions?: QueryOptions,
callback?: function,
)
Geçerli pencereyi alır.
Parametreler
-
queryOptions
QueryOptions isteğe bağlı
Chrome 88 ve sonraki sürümler 'nı inceleyin. -
geri çağırma
işlev isteğe bağlı
callback
parametresi şu şekilde görünür:(window: Window) => void
-
pencere
-
İadeler
-
Promise<Window>
Chrome 88 ve sonraki sürümler 'nı inceleyin.Manifest V3 ve sonraki sürümlerde vaatler desteklenir ancak geriye dönük uyumluluk Aynı işlev çağrısında ikisini birden kullanamazsınız. İlgili içeriği oluşturmak için kullanılan taahhüt, geri çağırmaya iletilen aynı türle çözümlenir.
getLastFocused()
chrome.windows.getLastFocused(
queryOptions?: QueryOptions,
callback?: function,
)
En son odaklanılan pencereyi alır; genellikle "en üstte" olan pencereyi getirir.
Parametreler
-
queryOptions
QueryOptions isteğe bağlı
Chrome 88 ve sonraki sürümler 'nı inceleyin. -
geri çağırma
işlev isteğe bağlı
callback
parametresi şu şekilde görünür:(window: Window) => void
-
pencere
-
İadeler
-
Promise<Window>
Chrome 88 ve sonraki sürümler 'nı inceleyin.Manifest V3 ve sonraki sürümlerde vaatler desteklenir ancak geriye dönük uyumluluk Aynı işlev çağrısında ikisini birden kullanamazsınız. İlgili içeriği oluşturmak için kullanılan taahhüt, 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
işlev isteğe bağlı
callback
parametresi şu şekilde görünür:() => void
İadeler
-
Taahhüt<void>
Chrome 88 ve sonraki sürümler 'nı inceleyin.Manifest V3 ve sonraki sürümlerde vaatler desteklenir ancak geriye dönük uyumluluk Aynı işlev çağrısında ikisini birden kullanamazsınız. İlgili içeriği oluşturmak için kullanılan taahhüt, geri çağırmaya iletilen aynı türle çözümlenir.
update()
chrome.windows.update(
windowId: number,
updateInfo: object,
callback?: function,
)
Pencerenin özelliklerini günceller. Yalnızca değiştirilecek özellikleri belirtin; belirtilmemiş özellikler değişmez.
Parametreler
-
windowId
sayı
-
updateInfo
nesne
-
drawAttention
boole isteğe bağlı
true
değerine ayarlanırsa pencere, odaklanılan pencere değiştirilmeden kullanıcının dikkatini pencereye çekecek şekilde görüntülenir. Efekt, kullanıcı odağı pencereye değiştirene kadar devam eder. Pencereye zaten odaklanılmışsa bu seçeneğin hiçbir etkisi olmaz. ÖncekidrawAttention
isteğini iptal etmek içinfalse
olarak ayarlayın. -
odaklı
boole isteğe bağlı
true
değeri, pencereyi öne getirir; "küçültülmüş" durumuyla birleştirilemez.false
değeri, z sırasına göre bir sonraki pencereyi öne getirir; 'tam ekran' durumuyla birleştirilemez anahtar kelimeleri kullanabilirsiniz. -
yükseklik
sayı isteğe bağlı
Pencerenin piksel cinsinden yeniden boyutlandırılacağı yükseklik. Bu değer, paneller için yoksayılır.
-
sol
sayı 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.
-
durum
WindowState isteğe bağlı
Pencerenin yeni durumu. "Küçültülmüş", "büyütülmüş" ve "tam ekran" eyaletler "left" (sol), "top" (üst), "width" (genişlik) veya "height" (yükseklik) ile birleştirilemez.
-
üst
sayı isteğe bağlı
Pencerenin piksel cinsinden taşınacağı, ekranın üst kenarından uzaklık. Bu değer, paneller için yoksayılır.
-
genişlik
sayı 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
işlev isteğe bağlı
callback
parametresi şu şekilde görünür:(window: Window) => void
-
pencere
-
İadeler
-
Promise<Window>
Chrome 88 ve sonraki sürümler 'nı inceleyin.Manifest V3 ve sonraki sürümlerde vaatler desteklenir ancak geriye dönük uyumluluk Aynı işlev çağrısında ikisini birden kullanamazsınız. İlgili içeriği oluşturmak için kullanılan taahhüt, 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 uygulandığında gönderilir, devam eden 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ümler 'nı inceleyin.callback
parametresi şu şekilde görünür:(window: Window) => void
-
pencere
Oluşturulan pencerenin ayrıntıları.
-
-
filtreler
nesne isteğe bağlı
-
windowTypes
Oluşturulan pencere türünün karşılaması gereken koşullar. Varsayılan olarak
['normal', 'popup']
şartlarına uygundur.
-
onFocusChanged
chrome.windows.onFocusChanged.addListener(
callback: function,
filters?: object,
)
O sırada odaklanılan pencere değiştiğinde tetiklenir. Tüm Chrome pencerelerinin odağı kaybolduysa 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 gönderilir.
Parametreler
-
geri çağırma
işlev
Chrome 46 ve sonraki sürümler 'nı inceleyin.callback
parametresi şu şekilde görünür:(windowId: number) => void
-
windowId
sayı
Yeni odaklanmış pencerenin kimliği.
-
-
filtreler
nesne isteğe bağlı
-
windowTypes
Kaldırılan pencere türünün karşılaması gereken koşullar. Varsayılan olarak
['normal', 'popup']
şartlarına uygundur.
-
onRemoved
chrome.windows.onRemoved.addListener(
callback: function,
filters?: object,
)
Bir pencere kaldırıldığında (kapalı) tetiklenir.
Parametreler
-
geri çağırma
işlev
Chrome 46 ve sonraki sürümler 'nı inceleyin.callback
parametresi şu şekilde görünür:(windowId: number) => void
-
windowId
sayı
Kaldırılan pencerenin kimliği.
-
-
filtreler
nesne isteğe bağlı
-
windowTypes
Kaldırılan pencere türünün karşılaması gereken koşullar. Varsayılan olarak
['normal', 'popup']
şartlarına uygundur.
-