Açıklama
Pencereler oluşturmak için chrome.app.window
API'yi kullanın. Pencerelerde başlık çubuğu ve boyut kontrolleri içeren isteğe bağlı bir çerçeve bulunur. Herhangi bir Chrome tarayıcı penceresiyle ilişkilendirilmemişse Bu seçeneklerin gösterimi için Window State Sample (Pencere Durumu Örneği) bölümüne bakın.
Türler
AppWindow
Özellikler
-
contentWindow
Pencere
Oluşturulan alt öğe için JavaScript "window" nesnesi.
-
id
dize
Pencerenin oluşturulduğu kimlik.
-
innerBounds
Pencere süslemeleri hariç olmak üzere pencere içeriğinin konumu, boyutu ve kısıtlamaları. Bu özellik Chrome 36'da kullanıma sunulmuştur.
-
outerBounds
Başlık çubuğu ve çerçeve gibi pencere süslemelerini içeren pencerenin konumu, boyutu ve kısıtlamaları. Bu özellik Chrome 36'da kullanıma sunulmuştur.
-
clearAttention
geçersiz
Pencereye odaklanın.
clearAttention
işlevi şu şekilde görünür:() => {...}
-
kapat
geçersiz
Pencereyi kapatın.
close
işlevi şu şekilde görünür:() => {...}
-
drawAttention
geçersiz
Pencereye dikkat çekin.
drawAttention
işlevi şu şekilde görünür:() => {...}
-
odak
geçersiz
Pencereye odaklanın.
focus
işlevi şu şekilde görünür:() => {...}
-
tam ekran
geçersiz
Pencereyi tam ekran yapar.
Kullanıcı, ESC tuşuna basarak pencereyi geri yükleyebilir. Bir uygulama,
app.window.fullscreen.overrideEsc
izni isteyerek ve keydown ile keyup işleyicilerinde .preventDefault() çağırarak etkinliği iptal ederek ESC tuşuna basıldığında tam ekran durumundan çıkılmasını engelleyebilir. Örneğin:window.onkeydown = window.onkeyup = function(e) { if (e.keyCode == 27 /* ESC *\/) { e.preventDefault(); } };
Not
window.fullscreen()
, pencerenin tamamının tam ekran olmasını sağlar ve kullanıcı hareketi gerektirmez. Tam ekran moduna girmek için HTML5 tam ekran API'si de kullanılabilir (daha fazla bilgi için Web API'leri başlıklı makaleyi inceleyin).fullscreen
işlevi şu şekilde görünür:() => {...}
-
getBounds
geçersiz
Kullanımdan kaldırıldıinnerBounds veya outerBounds kullanın.
Pencerenin iç sınırlarını
ContentBounds
nesnesi olarak alın.getBounds
işlevi şu şekilde görünür:() => {...}
-
returns
-
-
gizle
geçersiz
Pencereyi gizleyin. Pencere zaten gizliyse hiçbir işlem yapılmaz.
hide
işlevi şu şekilde görünür:() => {...}
-
isAlwaysOnTop
geçersiz
Pencere her zaman en üstte mi?
isAlwaysOnTop
işlevi şu şekilde görünür:() => {...}
-
returns
boolean
-
-
isFullscreen
geçersiz
Pencere tam ekran mı? Pencere tam ekran olarak oluşturulduysa veya
AppWindow
ya da HTML5 tam ekran API'leri aracılığıyla tam ekran yapıldıysa bu değer doğru olur.isFullscreen
işlevi şu şekilde görünür:() => {...}
-
returns
boolean
-
-
isMaximized
geçersiz
Pencere ekranı kaplayacak şekilde büyütülmüş mü?
isMaximized
işlevi şu şekilde görünür:() => {...}
-
returns
boolean
-
-
isMinimized
geçersiz
Pencere simge durumuna küçültülmüş mü?
isMinimized
işlevi şu şekilde görünür:() => {...}
-
returns
boolean
-
-
ekranı kapla
geçersiz
Pencereyi ekranı kaplayacak şekilde büyütün.
maximize
işlevi şu şekilde görünür:() => {...}
-
küçültmek
geçersiz
Pencereyi simge durumuna küçültün.
minimize
işlevi şu şekilde görünür:() => {...}
-
moveTo
geçersiz
Chrome 43'ten beri kullanımdan kaldırıldıouterBounds'u kullanın.
Pencereyi (
left
,top
) konumuna taşıyın.moveTo
işlevi şu şekilde görünür:(left: number, top: number) => {...}
-
sol
sayı
-
üst
sayı
-
-
resizeTo
geçersiz
Chrome 43'ten beri kullanımdan kaldırıldıouterBounds'u kullanın.
Pencereyi
width
xheight
piksel boyutunda yeniden boyutlandırın.resizeTo
işlevi şu şekilde görünür:(width: number, height: number) => {...}
-
genişlik
sayı
-
yükseklik
sayı
-
-
restore
geçersiz
Pencereyi geri yükleyerek büyütülmüş, küçültülmüş veya tam ekran durumundan çıkın.
restore
işlevi şu şekilde görünür:() => {...}
-
setAlwaysOnTop
geçersiz
Pencerenin diğer pencerelerin çoğunun üzerinde kalıp kalmayacağını ayarlayın.
alwaysOnTopWindows
izni gerekir.setAlwaysOnTop
işlevi şu şekilde görünür:(alwaysOnTop: boolean) => {...}
-
alwaysOnTop
boolean
-
-
setBounds
geçersiz
Kullanımdan kaldırıldıinnerBounds veya outerBounds kullanın.
Pencerenin iç sınırlarını ayarlayın.
setBounds
işlevi şu şekilde görünür:(bounds: ContentBounds) => {...}
-
sınırlar
-
-
setVisibleOnAllWorkspaces
geçersiz
Pencerenin tüm çalışma alanlarında görünür olup olmayacağını ayarlayın. (Yalnızca bu özelliği destekleyen platformlar için geçerlidir.)
setVisibleOnAllWorkspaces
işlevi şu şekilde görünür:(alwaysVisible: boolean) => {...}
-
alwaysVisible
boolean
-
-
göster
geçersiz
Pencereyi gösterin. Pencere zaten görünür durumdaysa hiçbir işlem yapılmaz.
focused
true olarak ayarlanırsa veya atlanırsa pencereye odaklanın.show
işlevi şu şekilde görünür:(focused?: boolean) => {...}
-
odaklı
boolean isteğe bağlı
-
Bounds
Özellikler
-
yükseklik
sayı
Bu özellik, içeriğin veya pencerenin mevcut yüksekliğini okumak ya da yazmak için kullanılabilir.
-
sol
sayı
Bu özellik, içeriğin veya pencerenin mevcut X koordinatını okumak ya da yazmak için kullanılabilir.
-
maxHeight
number isteğe bağlı
Bu özellik, içeriğin veya pencerenin mevcut maksimum yüksekliğini okumak ya da yazmak için kullanılabilir.
null
değeri "belirtilmemiş" anlamına gelir. -
maxWidth
number isteğe bağlı
Bu özellik, içeriğin veya pencerenin mevcut maksimum genişliğini okumak ya da yazmak için kullanılabilir.
null
değeri "belirtilmemiş" anlamına gelir. -
minHeight
number isteğe bağlı
Bu özellik, içeriğin veya pencerenin mevcut minimum yüksekliğini okumak ya da yazmak için kullanılabilir.
null
değeri "belirtilmemiş" anlamına gelir. -
minWidth
number isteğe bağlı
Bu özellik, içeriğin veya pencerenin mevcut minimum genişliğini okumak ya da yazmak için kullanılabilir.
null
değeri "belirtilmemiş" anlamına gelir. -
üst
sayı
Bu özellik, içeriğin veya pencerenin mevcut Y koordinatını okumak ya da yazmak için kullanılabilir.
-
genişlik
sayı
Bu özellik, içeriğin veya pencerenin mevcut genişliğini okumak ya da yazmak için kullanılabilir.
-
setMaximumSize
geçersiz
İçeriğin veya pencerenin maksimum boyut kısıtlamalarını ayarlayın. Kısıtlamayı kaldırmak için maksimum genişlik veya yükseklik
null
olarak ayarlanabilir.undefined
değeri, kısıtlamayı değiştirmeden bırakır.setMaximumSize
işlevi şu şekilde görünür:(maxWidth: number, maxHeight: number) => {...}
-
maxWidth
sayı
-
maxHeight
sayı
-
-
setMinimumSize
geçersiz
İçeriğin veya pencerenin minimum boyut kısıtlamalarını ayarlayın. Sınırlamayı kaldırmak için minimum genişlik veya yükseklik
null
olarak ayarlanabilir.undefined
değeri, kısıtlamayı değiştirmeden bırakır.setMinimumSize
işlevi şu şekilde görünür:(minWidth: number, minHeight: number) => {...}
-
minWidth
sayı
-
minHeight
sayı
-
-
setPosition
geçersiz
İçeriğin veya pencerenin sol ve üst konumunu ayarlayın.
setPosition
işlevi şu şekilde görünür:(left: number, top: number) => {...}
-
sol
sayı
-
üst
sayı
-
-
setSize
geçersiz
İçeriğin veya pencerenin genişliğini ve yüksekliğini ayarlayın.
setSize
işlevi şu şekilde görünür:(width: number, height: number) => {...}
-
genişlik
sayı
-
yükseklik
sayı
-
BoundsSpecification
Özellikler
-
yükseklik
number isteğe bağlı
İçeriğin veya pencerenin yüksekliği.
-
sol
number isteğe bağlı
İçeriğin veya pencerenin X koordinatı.
-
maxHeight
number isteğe bağlı
İçeriğin veya pencerenin maksimum yüksekliği.
-
maxWidth
number isteğe bağlı
İçeriğin veya pencerenin maksimum genişliği.
-
minHeight
number isteğe bağlı
İçeriğin veya pencerenin minimum yüksekliği.
-
minWidth
number isteğe bağlı
İçeriğin veya pencerenin minimum genişliği.
-
üst
number isteğe bağlı
İçeriğin veya pencerenin Y koordinatı.
-
genişlik
number isteğe bağlı
İçeriğin veya pencerenin genişliği.
ContentBounds
Özellikler
-
yükseklik
number isteğe bağlı
-
sol
number isteğe bağlı
-
üst
number isteğe bağlı
-
genişlik
number isteğe bağlı
CreateWindowOptions
Özellikler
-
alwaysOnTop
boolean isteğe bağlı
Doğruysa pencere, diğer pencerelerin çoğunun üzerinde kalır. Bu türden birden fazla pencere varsa şu anda odaklanılan pencere ön planda olur.
alwaysOnTopWindows
izni gerekir. Varsayılan olarak false değerine ayarlanır.Oluşturulduktan sonra bu özelliği değiştirmek için pencerede
setAlwaysOnTop()
işlevini çağırın. -
sınırlar
ContentBounds isteğe bağlı
Kullanımdan kaldırıldıinnerBounds veya outerBounds kullanın.
İçeriğin penceredeki boyutu ve konumu (başlık çubuğu hariç). Bir kimlik de belirtilmişse ve daha önce eşleşen kimliğe sahip bir pencere gösterilmişse bunun yerine pencerenin hatırlanan sınırları kullanılır.
-
odaklı
boolean isteğe bağlı
Doğru değerine ayarlanırsa pencere oluşturulduğunda odaklanılır. Varsayılan olarak true değerine ayarlanır.
-
kare
dize | FrameOptions isteğe bağlı
Çerçeve türü:
none
veyachrome
(varsayılan olarakchrome
kullanılır).none
için-webkit-app-region
CSS özelliği, uygulamanın penceresine sürüklenebilirlik özelliği uygulamak için kullanılabilir.-webkit-app-region: drag
, bölgeleri sürüklenebilir olarak işaretlemek için kullanılabilir.no-drag
, iç içe yerleştirilmiş öğelerde bu stili devre dışı bırakmak için kullanılabilir.FrameOptions
kullanımı M36'da yeni bir özelliktir. -
boolean isteğe bağlı
Doğruysa pencere gizli durumda oluşturulur. Oluşturulduktan sonra pencereyi göstermek için pencerede show() işlevini çağırın. Varsayılan olarak false değerine ayarlanır.
-
kurallara göz atabilirsiniz
dize isteğe bağlı
Chrome 54 veya daha yeni bir sürümPencere simgesinin URL'si. showInShelf doğru olarak ayarlandığında bir pencerenin kendi simgesi olabilir. URL, genel veya uzantı yerel URL'si olmalıdır.
-
id
dize isteğe bağlı
Pencereyi tanımlamak için kullanılan kimlik. Bu, pencerenin boyutunu ve konumunu hatırlamak ve aynı kimliğe sahip bir pencere daha sonra açıldığında bu geometriyi geri yüklemek için kullanılır. Aynı kimliğe sahip başka bir pencere zaten varken belirli bir kimliğe sahip bir pencere oluşturulursa yeni bir pencere oluşturmak yerine şu anda açık olan pencereye odaklanılır.
-
innerBounds
BoundsSpecification isteğe bağlı
Pencere içeriğinin (pencere süslemeleri hariç) ilk konumunu, ilk boyutunu ve kısıtlamalarını belirtmek için kullanılır. Bir
id
de belirtilmişse ve daha önce eşleşen birid
ile pencere gösterilmişse bunun yerine hatırlanan sınırlar kullanılır.İç ve dış sınırlar arasındaki dolgunun işletim sistemi tarafından belirlendiğini unutmayın. Bu nedenle, hem
innerBounds
hem deouterBounds
için aynı sınırlar özelliğini ayarlamak hataya neden olur.Bu özellik Chrome 36'da kullanıma sunulmuştur.
-
maxHeight
number isteğe bağlı
Kullanımdan kaldırıldıinnerBounds veya outerBounds kullanın.
Pencerenin maksimum yüksekliği.
-
maxWidth
number isteğe bağlı
Kullanımdan kaldırıldıinnerBounds veya outerBounds kullanın.
Pencerenin maksimum genişliği.
-
minHeight
number isteğe bağlı
Kullanımdan kaldırıldıinnerBounds veya outerBounds kullanın.
Pencerenin minimum yüksekliği.
-
minWidth
number isteğe bağlı
Kullanımdan kaldırıldıinnerBounds veya outerBounds kullanın.
Pencerenin minimum genişliği.
-
outerBounds
BoundsSpecification isteğe bağlı
Pencerenin ilk konumunu, ilk boyutunu ve kısıtlamalarını (başlık çubuğu ve çerçeve gibi pencere süslemeleri dahil) belirtmek için kullanılır. Bir
id
de belirtilmişse ve daha önce eşleşen birid
ile pencere gösterilmişse bunun yerine hatırlanan sınırlar kullanılır.İç ve dış sınırlar arasındaki dolgunun işletim sistemi tarafından belirlendiğini unutmayın. Bu nedenle, hem
innerBounds
hem deouterBounds
için aynı sınırlar özelliğini ayarlamak hataya neden olur.Bu özellik Chrome 36'da kullanıma sunulmuştur.
-
yeniden boyutlandırılabilir
boolean isteğe bağlı
Doğruysa pencere, kullanıcı tarafından yeniden boyutlandırılabilir. Varsayılan olarak true değerine ayarlanır.
-
showInShelf
boolean isteğe bağlı
Chrome 54 veya daha yeni bir sürümDoğruysa pencerenin kendi raf simgesi olur. Aksi takdirde pencere, rafta uygulamayla ilişkili diğer pencerelerle birlikte gruplandırılır. Varsayılan olarak false değerini alır. showInShelf değeri doğru olarak ayarlanırsa pencere için bir kimlik belirtmeniz gerekir.
-
singleton
boolean isteğe bağlı
Kullanımdan kaldırıldıAynı kimliğe sahip birden fazla pencere artık desteklenmiyor.
Varsayılan olarak, pencere için bir kimlik belirtirseniz pencere yalnızca aynı kimliğe sahip başka bir pencere zaten mevcut değilse oluşturulur. Aynı kimliğe sahip bir pencere zaten varsa bunun yerine o pencere etkinleştirilir. Aynı kimliğe sahip birden fazla pencere oluşturmak istiyorsanız bu özelliği false olarak ayarlayabilirsiniz.
-
durum
Eyalet isteğe bağlıdır.
Pencerenin başlangıç durumu. Pencerenin başlangıçta tam ekran, ekranı kaplayacak şekilde veya küçültülmüş olarak oluşturulmasına olanak tanır. Varsayılan olarak "normal" değerine ayarlanır.
-
tür
WindowType isteğe bağlı
Chrome 45 ve sonraki sürümler Chrome 69'dan beri kullanımdan kaldırıldıTüm uygulama pencereleri "shell" pencere türünü kullanır.
Oluşturulacak pencerenin türü.
-
visibleOnAllWorkspaces
boolean isteğe bağlı
Doğruysa ve platform tarafından destekleniyorsa pencere tüm çalışma alanlarında görünür.
FrameOptions
Özellikler
-
activeColor
dize isteğe bağlı
Etkin pencerenin çerçeve renginin ayarlanmasına izin verir. Çerçeve renklendirme yalnızca çerçeve türü
chrome
ise kullanılabilir.Çerçeve renklendirme yalnızca çerçeve türü
chrome
ise kullanılabilir.Çerçeve renklendirme, Chrome 36'da yeni bir özelliktir.
-
renk
dize isteğe bağlı
Çerçeve renginin ayarlanmasına izin verir. Çerçeve renklendirme yalnızca çerçeve türü
chrome
ise kullanılabilir.Çerçeve renklendirme, Chrome 36'da yeni bir özelliktir.
-
inactiveColor
dize isteğe bağlı
Etkin olmayan pencerenin çerçeve renginin, etkin renkten farklı ayarlanmasına olanak tanır. Çerçeve renklendirme yalnızca çerçeve türü
chrome
ise kullanılabilir.inactiveColor
,color
ile birlikte kullanılmalıdır.Çerçeve renklendirme, Chrome 36'da yeni bir özelliktir.
-
tür
dize isteğe bağlı
Çerçeve türü:
none
veyachrome
(varsayılan olarakchrome
'dir).none
için-webkit-app-region
CSS özelliği, uygulamanın penceresine sürüklenebilirlik özelliği uygulamak için kullanılabilir.-webkit-app-region: drag
, bölgeleri sürüklenebilir olarak işaretlemek için kullanılabilir.no-drag
, iç içe yerleştirilmiş öğelerde bu stili devre dışı bırakmak için kullanılabilir.
State
Pencerenin durumu: normal, tam ekran, ekranı kaplayacak şekilde büyütülmüş, simge durumuna küçültülmüş.
Enum
"normal"
"fullscreen"
"maximized"
"minimized"
WindowType
Oluşturulacak pencerenin türünü belirtir.
Enum
"shell"
Varsayılan pencere türü.
"panel"
OS managed window (Kullanımdan kaldırıldı).
Yöntemler
canSetVisibleOnAllWorkspaces()
chrome.app.window.canSetVisibleOnAllWorkspaces(): boolean
Geçerli platformun, pencerelerin tüm çalışma alanlarında görünmesini destekleyip desteklemediği.
İadeler
-
boolean
create()
chrome.app.window.create(
url: string,
options?: CreateWindowOptions,
callback?: function,
): Promise<AppWindow>
Pencerenin boyutu ve konumu çeşitli şekillerde belirtilebilir. En basit seçenek hiçbir şey belirtmemektir. Bu durumda varsayılan boyut ve platforma bağlı konum kullanılır.
Pencerenin konumunu, boyutunu ve kısıtlamalarını ayarlamak için innerBounds
veya outerBounds
özelliklerini kullanın. İç sınırlar, pencere süslemelerini içermez. Dış sınırlar, pencerenin başlık çubuğunu ve çerçevesini içerir. İç ve dış sınırlar arasındaki dolgunun işletim sistemi tarafından belirlendiğini unutmayın. Bu nedenle, hem iç hem de dış sınırlar için aynı özelliğin ayarlanması hata olarak kabul edilir (örneğin, hem innerBounds.left
hem de outerBounds.left
ayarlanması).
Pencerelerin konumlarını otomatik olarak hatırlamak için onlara kimlik verebilirsiniz. Bir pencerenin kimliği varsa bu kimlik, pencere taşındığında veya yeniden boyutlandırıldığında boyutunu ve konumunu hatırlamak için kullanılır. Bu boyut ve konum, aynı kimliğe sahip bir pencerenin sonraki açılışlarında belirtilen sınırlar yerine kullanılır. Hatırlanan varsayılan konumun dışında bir konumda kimlik içeren bir pencere açmanız gerekiyorsa pencereyi gizli olarak oluşturabilir, istediğiniz konuma taşıyabilir ve ardından gösterebilirsiniz.
Parametreler
-
url
dize
-
seçenekler
CreateWindowOptions isteğe bağlı
-
callback
işlev isteğe bağlı
callback
parametresi şu şekilde görünür:(createdWindow: AppWindow) => void
-
createdWindow
-
İadeler
-
Promise<AppWindow>
Chrome 117 ve sonraki sürümlerPromises yalnızca Manifest V3 ve sonraki sürümlerde desteklenir. Diğer platformlarda geri çağırmalar kullanılmalıdır.
current()
chrome.app.window.current(): AppWindow | undefined
Geçerli komut dosyası bağlamı (ör. JavaScript "window" nesnesi) için bir AppWindow
nesnesi döndürür. Bu, başka bir sayfanın komut dosyası bağlamı için bir işleyende de çağrılabilir. Örneğin: otherWindow.chrome.app.window.current().
İadeler
-
AppWindow | undefined
get()
chrome.app.window.get(
id: string,
): AppWindow | undefined
Belirtilen kimliğe sahip bir AppWindow
alır. Belirtilen kimliğe sahip bir pencere yoksa null değeri döndürülür. Bu yöntem Chrome 33'te yeni kullanıma sunulmuştur.
Parametreler
-
id
dize
İadeler
-
AppWindow | undefined
getAll()
chrome.app.window.getAll(): AppWindow[]
Şu anda oluşturulmuş tüm uygulama pencerelerinin dizisini alır. Bu yöntem Chrome 33'te yeni kullanıma sunulmuştur.
İadeler
Etkinlikler
onBoundsChanged
chrome.app.window.onBoundsChanged.addListener(
callback: function,
)
Pencere yeniden boyutlandırıldığında tetiklenir.
Parametreler
-
callback
işlev
callback
parametresi şu şekilde görünür:() => void
onClosed
chrome.app.window.onClosed.addListener(
callback: function,
)
Pencere kapatıldığında tetiklenir. Bu işlem, kapatılan pencere dışında bir pencereden (ör. arka plan sayfasından) dinlenmelidir. Bunun nedeni, pencere kapatılırken etkinliğin tetiklenmesi ve bu nedenle pencerenin komut dosyası bağlamındaki tüm API'lerin işlevsel olmamasıdır.
Parametreler
-
callback
işlev
callback
parametresi şu şekilde görünür:() => void
onFullscreened
chrome.app.window.onFullscreened.addListener(
callback: function,
)
Pencere tam ekran yapıldığında (AppWindow
veya HTML5 API'leri aracılığıyla) tetiklenir.
Parametreler
-
callback
işlev
callback
parametresi şu şekilde görünür:() => void
onMaximized
chrome.app.window.onMaximized.addListener(
callback: function,
)
Pencere ekranı kaplayacak şekilde büyütüldüğünde tetiklenir.
Parametreler
-
callback
işlev
callback
parametresi şu şekilde görünür:() => void
onMinimized
chrome.app.window.onMinimized.addListener(
callback: function,
)
Pencere simge durumuna küçültüldüğünde tetiklenir.
Parametreler
-
callback
işlev
callback
parametresi şu şekilde görünür:() => void
onRestored
chrome.app.window.onRestored.addListener(
callback: function,
)
Pencere simge durumuna küçültülmüş veya ekranı kaplayacak şekilde büyütülmüş durumdan geri yüklendiğinde tetiklenir.
Parametreler
-
callback
işlev
callback
parametresi şu şekilde görünür:() => void