chrome.app.window

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.

    clearAttention işlevi şu şekildedir:

    () => {...}

  • kapat

    geçersiz

    Pencereyi kapatın.

    close işlevi şu şekildedir:

    () => {...}

  • drawAttention

    geçersiz

    Pencereye dikkat çekin.

    drawAttention işlevi şu şekildedir:

    () => {...}

  • odaklanma

    geçersiz

    Pencereye odaklanın.

    focus iş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.overrideEsc iznini 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).

    fullscreen işlevi şu şekildedir:

    () => {...}

  • getBounds

    geçersiz

    Kullanımdan kaldırıldı

    innerBounds veya outerBounds kullanın.

    Pencerenin iç sınırlarını ContentBounds nesnesi olarak alır.

    getBounds işlevi şu şekildedir:

    () => {...}

  • gizle

    geçersiz

    Pencereyi gizleyin. Pencere zaten gizliyse hiçbir şey yapmaz.

    hide işlevi şu şekildedir:

    () => {...}

  • isAlwaysOnTop

    geçersiz

    Pencere her zaman üstte mi?

    isAlwaysOnTop işlevi şu şekildedir:

    () => {...}

    • returns

      boole

  • 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 şekildedir:

    () => {...}

    • returns

      boole

  • isMaximized

    geçersiz

    Pencere ekranı kaplayacak şekilde büyütülmüş mü?

    isMaximized işlevi şu şekildedir:

    () => {...}

    • returns

      boole

  • isMinimized

    geçersiz

    Pencere simge durumuna küçültülmüş mü?

    isMinimized işlevi şu şekildedir:

    () => {...}

    • returns

      boole

  • büyütme

    geçersiz

    Pencereyi ekranı kaplayacak şekilde büyütme

    maximize işlevi şu şekildedir:

    () => {...}

  • küçült

    geçersiz

    Pencereyi simge durumuna küçültme

    minimize iş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.

    moveTo iş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 widthxheight piksel boyutuna yeniden boyutlandırın.

    resizeTo iş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

    restore işlevi şu şekildedir:

    () => {...}

  • setAlwaysOnTop

    geçersiz

    Pencerenin diğer pencerelerin çoğunun üzerinde kalıp kalmayacağını belirleyin. alwaysOnTopWindows izni gerekir.

    setAlwaysOnTop iş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.

    setBounds işlevi şu şekildedir:

    (bounds: ContentBounds) => {...}

  • 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).

    setVisibleOnAllWorkspaces iş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.

    show iş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. 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ştirmez.

    setMaximumSize iş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 null olarak ayarlanabilir. undefined değeri, kısıtlamayı değiştirmez.

    setMinimumSize işlevi şu şekildedir:

    (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 şekildedir:

    (left: number, top: number) => {...}

    • sol

      sayı

    • üst

      sayı

  • setSize

    geçersiz

    İçeriğin veya pencerenin genişliğini ve yüksekliğini belirleyin.

    setSize iş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. alwaysOnTopWindows izni 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ü: none veya chrome (varsayılan olarak chrome). none için -webkit-app-region CSS ö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.

    FrameOptions kullanımı M36'da yenidir.

  • gizli

    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. id da belirtilmişse ve eşleşen id değ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 innerBounds hem de outerBounds iç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. id da belirtilmişse ve eşleşen id değ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 innerBounds hem de outerBounds iç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ü 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

    string isteğe bağlı

    Çerçeve renginin ayarlanmasına olanak tanır. Çerçeve renklendirme yalnızca çerçeve türü chrome ise 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ü chrome ise kullanılabilir.

    inactiveColor, color ile 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ü: none veya chrome (varsayılan olarak chrome).

    none için -webkit-app-region CSS ö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

Chrome 45+

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()

Taahhüt
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ı

    callback parametresi şu şekilde görünür:

    (createdWindow: AppWindow) => void

İadeler

  • Promise<AppWindow>

    Chrome 117 ve sonraki sürümler

    Promise'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

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

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, 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

    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üldükten veya ekranı kaplayacak şekilde büyütüldükten sonra geri yüklendiğinde tetiklenir.

Parametreler

  • callback

    işlev

    callback parametresi şu şekilde görünür:

    () => void