Açıklama
Pencere oluşturmak için chrome.app.window API'sini kullanın. Pencerelerde başlık çubuğu ve boyut kontrolleri içeren isteğe bağlı bir çerçeve bulunur. Bu işlemler, herhangi bir Chrome Tarayıcı penceresiyle ilişkili değildir. Bu seçeneklerin bir gösterimi için Pencere Durumu Örneği'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 dekorasyonlarını içermeyen pencere içeriğinin konumu, boyutu ve kısıtlamaları. Bu özellik Chrome 36'da yenidir.
-
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 yenidir.
-
clearAttention
geçersiz
Pencereye odaklanmayı bırakın.
clearAttentionişlevi şu şekildedir:() => {...} -
kapat
geçersiz
Pencereyi kapatın.
closeişlevi şu şekildedir:() => {...} -
drawAttention
geçersiz
Pencereye dikkat çekin.
drawAttentionişlevi şu şekildedir:() => {...} -
odaklanma
geçersiz
Pencereye odaklanın.
focusişlevi şu şekildedir:() => {...} -
tam ekran
geçersiz
Pencereyi tam ekran yapar.
Kullanıcı, ESC tuşuna basarak pencereyi geri yükleyebilir. Bir uygulama,
app.window.fullscreen.overrideEsciznini isteyerek ve keydown ile keyup işleyicilerinde .preventDefault() yöntemini çağırıp 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(), tüm pencerenin tam ekran olmasına neden olur ve kullanıcı hareketi gerektirmez. HTML5 tam ekran API'si, tam ekran moduna girmek için de kullanılabilir (daha fazla bilgi için Web API'leri bölümüne bakın).fullscreenişlevi şu şekildedir:() => {...} -
getBounds
geçersiz
Kullanımdan kaldırıldıinnerBounds veya outerBounds kullanın.
Pencerenin iç sınırlarını
ContentBoundsnesnesi olarak alır.getBoundsişlevi şu şekildedir:() => {...}-
returns
-
-
gizle
geçersiz
Pencereyi gizleyin. Pencere zaten gizliyse hiçbir şey yapmaz.
hideişlevi şu şekildedir:() => {...} -
isAlwaysOnTop
geçersiz
Pencere her zaman üstte mi?
isAlwaysOnTopişlevi şu şekildedir:() => {...}-
returns
boole
-
-
isFullscreen
geçersiz
Pencere tam ekran mı? Pencere tam ekran olarak oluşturulduysa veya
AppWindowya da HTML5 tam ekran API'leri aracılığıyla tam ekran yapıldıysa bu değer doğru olur.isFullscreenişlevi şu şekildedir:() => {...}-
returns
boole
-
-
isMaximized
geçersiz
Pencere ekranı kaplayacak şekilde büyütülmüş mü?
isMaximizedişlevi şu şekildedir:() => {...}-
returns
boole
-
-
isMinimized
geçersiz
Pencere simge durumuna küçültülmüş mü?
isMinimizedişlevi şu şekildedir:() => {...}-
returns
boole
-
-
büyütme
geçersiz
Pencereyi ekranı kaplayacak şekilde büyütme
maximizeişlevi şu şekildedir:() => {...} -
küçült
geçersiz
Pencereyi simge durumuna küçültme
minimizeişlevi şu şekildedir:() => {...} -
moveTo
geçersiz
Chrome 43'ten itibaren desteği sonlandırıldıouterBounds kullanın.
Pencereyi (
left,top) konumuna taşıyın.moveToişlevi şu şekildedir:(left: number, top: number) => {...}
-
sol
sayı
-
üst
sayı
-
-
resizeTo
geçersiz
Chrome 43'ten itibaren desteği sonlandırıldıouterBounds kullanın.
Pencereyi
widthxheightpiksel boyutuna yeniden boyutlandırın.resizeToişlevi şu şekildedir:(width: number, height: number) => {...}
-
genişlik
sayı
-
yükseklik
sayı
-
-
geri yükle
geçersiz
Pencereyi geri yükleyerek ekranı kaplama, simge durumuna küçültme veya tam ekran durumundan çıkma
restoreişlevi şu şekildedir:() => {...} -
setAlwaysOnTop
geçersiz
Pencerenin diğer pencerelerin çoğunun üzerinde kalıp kalmayacağını belirleyin.
alwaysOnTopWindowsizni gerekir.setAlwaysOnTopişlevi şu şekildedir:(alwaysOnTop: boolean) => {...}
-
alwaysOnTop
boole
-
-
setBounds
geçersiz
Kullanımdan kaldırıldıinnerBounds veya outerBounds kullanın.
Pencerenin iç sınırlarını ayarlayın.
setBoundsişlevi şu şekildedir:(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 bunu destekleyen platformlar için).
setVisibleOnAllWorkspacesişlevi şu şekildedir:(alwaysVisible: boolean) => {...}
-
alwaysVisible
boole
-
-
göster
geçersiz
Pencereyi göster. Pencere zaten görünür durumdaysa hiçbir şey yapmaz.
focused, true değerine ayarlanırsa veya atlanırsa pencereye odaklanın.showişlevi şu şekildedir:(focused?: boolean) => {...}
-
odaklı
boole 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.
nulldeğ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.
nulldeğ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.
nulldeğ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.
nulldeğ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
nullolarak ayarlanabilir.undefineddeğeri, kısıtlamayı değiştirmez.setMaximumSizeişlevi şu şekildedir:(maxWidth: number, maxHeight: number) => {...}
-
maxWidth
sayı
-
maxHeight
sayı
-
-
setMinimumSize
geçersiz
İçeriğin veya pencerenin minimum boyut kısıtlamalarını ayarlayın. Kısıtlamayı kaldırmak için minimum genişlik veya yükseklik
nullolarak ayarlanabilir.undefineddeğeri, kısıtlamayı değiştirmez.setMinimumSizeişlevi şu şekildedir:(minWidth: number, minHeight: number) => {...}
-
minWidth
sayı
-
minHeight
sayı
-
-
setPosition
geçersiz
İçeriğin veya pencerenin sol ve üst konumunu ayarlayın.
setPositionişlevi şu şekildedir:(left: number, top: number) => {...}
-
sol
sayı
-
üst
sayı
-
-
setSize
geçersiz
İçeriğin veya pencerenin genişliğini ve yüksekliğini belirleyin.
setSizeişlevi şu şekildedir:(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
boole isteğe bağlı
Doğru ise pencere diğer pencerelerin çoğunun üzerinde kalır. Bu türden birden fazla pencere varsa o anda odaklanılan pencere ön planda olur.
alwaysOnTopWindowsizni gerekir. Varsayılan olarak "false" (yanlış) değerine ayarlıdır.Oluşturulduktan sonra bu özelliği değiştirmek için pencerede
setAlwaysOnTop()yöntemini çağırın. -
sınırlar
ContentBounds isteğe bağlı
Kullanımdan kaldırıldıinnerBounds veya outerBounds kullanın.
Penceredeki içeriğin boyutu ve konumu (başlık çubuğu hariç). Bir kimlik de belirtilmişse ve eşleşen kimliğe sahip bir pencere daha önce gösterilmişse bunun yerine pencerenin hatırlanan sınırları kullanılır.
-
odaklı
boole isteğe bağlı
Doğru değerine ayarlanırsa pencere oluşturulduğunda odaklanır. Varsayılan değer "true"dur.
-
çerçeve
string | FrameOptions isteğe bağlı
Çerçeve türü:
noneveyachrome(varsayılan olarakchrome).noneiçin-webkit-app-regionCSS özelliği, uygulama penceresine sürüklenebilirlik uygulamak amacıyla 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.FrameOptionskullanımı M36'da yenidir. -
boole isteğe bağlı
Doğru ise pencere gizli durumda oluşturulur. Oluşturulduktan sonra pencereyi göstermek için pencerede show() yöntemini çağırın. Varsayılan olarak "false" (yanlış) değerine ayarlıdır.
-
kurallara göz atabilirsiniz
string isteğe bağlı
Chrome 54+Pencere simgesinin URL'si. showInShelf, true olarak ayarlandığında bir pencerenin kendi simgesi olabilir. URL, genel veya uzantı yerel URL'si olmalıdır.
-
id
string isteğe bağlı
Pencereyi tanımlayan kimlik. Bu, pencerenin boyutunu ve konumunu hatırlamak ve daha sonra aynı kimliğe sahip bir pencere açıldığında bu geometriyi geri yüklemek için kullanılır. Belirli bir kimliğe sahip bir pencere oluşturulurken aynı kimliğe sahip başka bir pencere zaten varsa yeni bir pencere oluşturulmak yerine mevcut açık 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.
idda belirtilmişse ve eşleşeniddeğerine sahip bir pencere daha önce 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
innerBoundshem deouterBoundsiçin aynı sınır özelliğinin ayarlanması hataya neden olur.Bu özellik Chrome 36'da yenidir.
-
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.
idda belirtilmişse ve eşleşeniddeğerine sahip bir pencere daha önce 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
innerBoundshem deouterBoundsiçin aynı sınır özelliğinin ayarlanması hataya neden olur.Bu özellik Chrome 36'da yenidir.
-
yeniden boyutlandırılabilir
boole isteğe bağlı
Doğru ise pencere kullanıcı tarafından yeniden boyutlandırılabilir. Varsayılan değer "true"dur.
-
showInShelf
boole isteğe bağlı
Chrome 54+Doğru değerine ayarlanırsa pencerenin kendi raf simgesi olur. Aksi takdirde pencere, uygulamayla ilişkili diğer pencerelerle birlikte rafta gruplandırılır. Varsayılan olarak false değerine ayarlanır. showInShelf değeri true olarak ayarlanırsa pencere için bir kimlik belirtmeniz gerekir.
-
singleton
boole 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 yoksa 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ı
Pencerenin ilk durumu. Pencerenin tam ekran, ekranı kaplamış veya simge durumuna 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+ Chrome 69'dan itibaren desteği sonlandırıldıTüm uygulama pencereleri "kabuk" pencere türünü kullanır.
Oluşturulacak pencerenin türü.
-
visibleOnAllWorkspaces
boole isteğe bağlı
Bu değer doğru ise ve platform tarafından destekleniyorsa pencere tüm çalışma alanlarında görünür.
FrameOptions
Özellikler
-
activeColor
string isteğe bağlı
Etkin durumdayken pencerenin çerçeve renginin ayarlanmasına izin verir. Çerçeve renklendirme yalnızca çerçeve türü
chromeise kullanılabilir.Çerçeve renklendirme yalnızca çerçeve türü
chromeise kullanılabilir.Çerçeve renklendirme, Chrome 36'da yeni bir özelliktir.
-
renk
string isteğe bağlı
Çerçeve renginin ayarlanmasına olanak tanır. Çerçeve renklendirme yalnızca çerçeve türü
chromeise kullanılabilir.Çerçeve renklendirme, Chrome 36'da yeni bir özelliktir.
-
inactiveColor
string isteğe bağlı
Pencerenin etkin değilken çerçeve renginin etkin renkten farklı şekilde ayarlanmasına olanak tanır. Çerçeve renklendirme yalnızca çerçeve türü
chromeise kullanılabilir.inactiveColor,colorile birlikte kullanılmalıdır.Çerçeve renklendirme, Chrome 36'da yeni bir özelliktir.
-
tür
string isteğe bağlı
Çerçeve türü:
noneveyachrome(varsayılan olarakchrome).noneiçin-webkit-app-regionCSS özelliği, uygulamanın penceresine sürüklenebilirlik 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ı kaplamış, 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 tarafından yönetilen pencere (Desteği sonlandırıldı).
Yöntemler
canSetVisibleOnAllWorkspaces()
chrome.app.window.canSetVisibleOnAllWorkspaces(): boolean
Mevcut platformun, pencerelerin tüm çalışma alanlarında görünür olmasını destekleyip desteklemediği.
İadeler
-
boole
create()
chrome.app.window.create(
url: string,
options?: CreateWindowOptions,
callback?: function,
): Promise<AppWindow>
Pencerenin boyutu ve konumu birkaç farklı şekilde belirtilebilir. En basit seçenek, hiçbir şey belirtmemektir. Bu durumda, varsayılan bir 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ı (ör. hem innerBounds.left hem de outerBounds.left ayarlanması) hata olarak kabul edilir.
Pencerelerin konumlarını otomatik olarak hatırlamak için pencerelere kimlik verebilirsiniz. Bir pencerenin kimliği varsa bu kimlik, taşındığında veya yeniden boyutlandırıldığında pencerenin 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 konumdan farklı bir konumda kimliği olan 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
function isteğe bağlı
callbackparametresi şu şekilde görünür:(createdWindow: AppWindow) => void
-
createdWindow
-
İadeler
-
Promise<AppWindow>
Chrome 117 ve sonraki sürümlerPromise'ler yalnızca Manifest V3 ve sonraki sürümlerde desteklenir. Diğer platformların geri çağırma işlevlerini kullanması gerekir.
current()
chrome.app.window.current(): AppWindow | undefined
Mevcut 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ının herkese açık bir yönteminde de çağrılabilir (ör. otherWindow.chrome.app.window.current()).
İadeler
-
AppWindow | tanımlanmamış
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 döndürülür. Bu yöntem, Chrome 33'te yeni kullanıma sunulmuştur.
Parametreler
-
id
dize
İadeler
-
AppWindow | tanımlanmamış
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
callbackparametresi şu şekilde görünür:() => void
onClosed
chrome.app.window.onClosed.addListener(
callback: function,
)
Pencere kapatıldığında tetiklenir. Bu, kapatılan pencere dışındaki bir pencereden (ör. arka plan sayfasından) dinlenmelidir. Bunun nedeni, kapatılan pencerenin etkinlik tetiklendiğinde kaldırılma sürecinde olmasıdır. Bu da pencerenin komut dosyası bağlamındaki tüm API'lerin çalışmayacağı anlamına gelir.
Parametreler
-
callback
işlev
callbackparametresi ş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
callbackparametresi ş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
callbackparametresi ş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
callbackparametresi şu şekilde görünür:() => void
onRestored
chrome.app.window.onRestored.addListener(
callback: function,
)
Pencere, simge durumuna küçültüldükten veya ekranı kaplayacak şekilde büyütüldükten sonra geri yüklendiğinde tetiklenir.
Parametreler
-
callback
işlev
callbackparametresi şu şekilde görünür:() => void