chrome.app.window

Deskripsi

Gunakan chrome.app.window API untuk membuat jendela. Windows memiliki bingkai opsional dengan bilah judul dan kontrol ukuran. Cookie tersebut tidak terkait dengan jendela browser Chrome apa pun. Lihat Contoh Status Jendela untuk menunjukkan demonstrasi opsi ini.

Jenis

AppWindow

Properti

  • contentWindow

    Jendela

    'Jendela' JavaScript untuk turunan yang dibuat.

  • id

    string

    ID yang digunakan untuk membuat jendela.

  • innerBounds

    Posisi, ukuran, dan batasan konten jendela, yang tidak termasuk dekorasi jendela. Properti ini baru di Chrome 36.

  • outerBounds

    Posisi, ukuran, dan batasan jendela, yang mencakup dekorasi jendela, seperti kolom judul dan bingkai. Properti ini baru di Chrome 36.

  • clearAttention

    void

    Perhatikan jendela dengan jelas.

    Fungsi clearAttention akan terlihat seperti ini:

    () => {...}

  • tutup

    void

    Tutup jendela.

    Fungsi close akan terlihat seperti ini:

    () => {...}

  • drawAttention

    void

    Tarik perhatian ke jendela.

    Fungsi drawAttention akan terlihat seperti ini:

    () => {...}

  • fokus

    void

    Fokuskan jendela.

    Fungsi focus akan terlihat seperti ini:

    () => {...}

  • layar penuh

    void

    Menampilkan layar penuh di jendela.

    Pengguna akan dapat memulihkan jendela dengan menekan ESC. Aplikasi dapat mencegah status layar penuh dibiarkan saat ESC ditekan dengan meminta izin app.window.fullscreen.overrideEsc dan membatalkan peristiwa dengan memanggil .preventDefault(), pada pengendali keydown dan keyup, seperti ini:

    window.onkeydown = window.onkeyup = function(e) { if (e.keyCode == 27 /* ESC *\/) { e.preventDefault(); } };

    Perhatikan bahwa window.fullscreen() akan menyebabkan seluruh jendela menjadi layar penuh dan tidak memerlukan gestur pengguna. API layar penuh HTML5 juga dapat digunakan untuk masuk ke mode layar penuh (lihat API Web untuk detail selengkapnya).

    Fungsi fullscreen akan terlihat seperti ini:

    () => {...}

  • getBounds

    void

    Tidak digunakan lagi

    Gunakan innerBounds atau outerBounds.

    Mendapatkan batas dalam jendela sebagai objek ContentBounds.

    Fungsi getBounds akan terlihat seperti ini:

    () => {...}

  • sembunyikan

    void

    Menyembunyikan jendela. Tidak melakukan apa pun jika jendela sudah disembunyikan.

    Fungsi hide akan terlihat seperti ini:

    () => {...}

  • isAlwaysOnTop

    void

    Apakah jendela selalu di atas?

    Fungsi isAlwaysOnTop akan terlihat seperti ini:

    () => {...}

    • akan menampilkan

      boolean

  • isFullscreen

    void

    Apakah jendelanya menampilkan layar penuh? Hal ini akan berlaku jika jendela telah dibuat dalam layar penuh atau dijadikan layar penuh melalui API layar penuh AppWindow atau HTML5.

    Fungsi isFullscreen akan terlihat seperti ini:

    () => {...}

    • akan menampilkan

      boolean

  • isMaximized

    void

    Apakah jendela sudah dimaksimalkan?

    Fungsi isMaximized akan terlihat seperti ini:

    () => {...}

    • akan menampilkan

      boolean

  • isMinimized

    void

    Apakah jendela diminimalkan?

    Fungsi isMinimized akan terlihat seperti ini:

    () => {...}

    • akan menampilkan

      boolean

  • perbesar

    void

    Perbesar jendela.

    Fungsi maximize akan terlihat seperti ini:

    () => {...}

  • minimalkan

    void

    Minimalkan jendela.

    Fungsi minimize akan terlihat seperti ini:

    () => {...}

  • moveTo

    void

    Tidak digunakan lagi sejak Chrome 43

    Gunakan outerBounds.

    Pindahkan jendela ke posisi tersebut (left, top).

    Fungsi moveTo akan terlihat seperti ini:

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

    • kiri

      angka

    • atas

      angka

  • resizeTo

    void

    Tidak digunakan lagi sejak Chrome 43

    Gunakan outerBounds.

    Ubah ukuran jendela menjadi widthxheight piksel.

    Fungsi resizeTo akan terlihat seperti ini:

    (width: number, height: number) => {...}

    • lebar

      angka

    • tinggi

      angka

  • pulihkan

    void

    Memulihkan jendela, keluar dari status dimaksimalkan, diperkecil, atau layar penuh.

    Fungsi restore akan terlihat seperti ini:

    () => {...}

  • setAlwaysOnTop

    void

    Menyetel apakah jendela harus tetap berada di atas sebagian besar jendela lainnya. Memerlukan izin alwaysOnTopWindows.

    Fungsi setAlwaysOnTop akan terlihat seperti ini:

    (alwaysOnTop: boolean) => {...}

    • alwaysOnTop

      boolean

  • setBounds

    void

    Tidak digunakan lagi

    Gunakan innerBounds atau outerBounds.

    Tetapkan batas dalam jendela.

    Fungsi setBounds akan terlihat seperti ini:

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

  • setVisibleOnAllWorkspaces

    void

    Tetapkan apakah jendela terlihat di semua ruang kerja. (Hanya untuk platform yang mendukung ini).

    Fungsi setVisibleOnAllWorkspaces akan terlihat seperti ini:

    (alwaysVisible: boolean) => {...}

    • alwaysVisible

      boolean

  • tunjukkan

    void

    Menampilkan jendela. Tidak melakukan apa pun jika jendela sudah terlihat. Fokuskan jendela jika focused ditetapkan ke benar (true) atau dihilangkan.

    Fungsi show akan terlihat seperti ini:

    (focused?: boolean) => {...}

    • terfokus

      boolean opsional

Bounds

Properti

  • tinggi

    angka

    Properti ini dapat digunakan untuk membaca atau menulis tinggi konten atau jendela saat ini.

  • kiri

    angka

    Properti ini dapat digunakan untuk membaca atau menulis koordinat X saat ini dari konten atau jendela.

  • maxHeight

    angka opsional

    Properti ini dapat digunakan untuk membaca atau menulis tinggi maksimum konten atau jendela saat ini. Nilai null menunjukkan 'belum ditetapkan'.

  • maxWidth

    angka opsional

    Properti ini dapat digunakan untuk membaca atau menulis lebar maksimum konten atau jendela saat ini. Nilai null menunjukkan 'belum ditetapkan'.

  • minHeight

    angka opsional

    Properti ini dapat digunakan untuk membaca atau menulis tinggi minimum konten atau jendela saat ini. Nilai null menunjukkan 'belum ditetapkan'.

  • minWidth

    angka opsional

    Properti ini dapat digunakan untuk membaca atau menulis lebar minimum konten atau jendela saat ini. Nilai null menunjukkan 'belum ditetapkan'.

  • atas

    angka

    Properti ini dapat digunakan untuk membaca atau menulis koordinat Y saat ini dari konten atau jendela.

  • lebar

    angka

    Properti ini dapat digunakan untuk membaca atau menulis lebar konten atau jendela saat ini.

  • setMaximumSize

    void

    Menetapkan batasan ukuran maksimum konten atau jendela. Lebar atau tinggi maksimum dapat ditetapkan ke null untuk menghapus batasan. Nilai undefined tidak akan mengubah batasan.

    Fungsi setMaximumSize akan terlihat seperti ini:

    (maxWidth: number, maxHeight: number) => {...}

    • maxWidth

      angka

    • maxHeight

      angka

  • setMinimumSize

    void

    Tetapkan batasan ukuran minimum konten atau jendela. Lebar atau tinggi minimum dapat ditetapkan ke null untuk menghapus batasan. Nilai undefined tidak akan mengubah batasan.

    Fungsi setMinimumSize akan terlihat seperti ini:

    (minWidth: number, minHeight: number) => {...}

    • minWidth

      angka

    • minHeight

      angka

  • setPosition

    void

    Menetapkan posisi kiri dan atas konten atau jendela.

    Fungsi setPosition akan terlihat seperti ini:

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

    • kiri

      angka

    • atas

      angka

  • setSize

    void

    Menetapkan lebar dan tinggi konten atau jendela.

    Fungsi setSize akan terlihat seperti ini:

    (width: number, height: number) => {...}

    • lebar

      angka

    • tinggi

      angka

BoundsSpecification

Properti

  • tinggi

    angka opsional

    Tinggi konten atau jendela.

  • kiri

    angka opsional

    Koordinat X konten atau jendela.

  • maxHeight

    angka opsional

    Tinggi maksimum konten atau jendela.

  • maxWidth

    angka opsional

    Lebar maksimum konten atau jendela.

  • minHeight

    angka opsional

    Tinggi minimum konten atau jendela.

  • minWidth

    angka opsional

    Lebar minimum konten atau jendela.

  • atas

    angka opsional

    Koordinat Y konten atau jendela.

  • lebar

    angka opsional

    Lebar konten atau jendela.

ContentBounds

Properti

  • tinggi

    angka opsional

  • kiri

    angka opsional

  • atas

    angka opsional

  • lebar

    angka opsional

CreateWindowOptions

Properti

  • alwaysOnTop

    boolean opsional

    Jika true (benar), jendela akan tetap berada di atas sebagian besar jendela lainnya. Jika ada beberapa jendela semacam ini, jendela yang saat ini difokuskan akan berada di latar depan. Memerlukan izin alwaysOnTopWindows. Nilai defaultnya adalah false (salah).

    Panggil setAlwaysOnTop() di jendela untuk mengubah properti ini setelah pembuatan.

  • batas

    ContentBounds opsional

    Tidak digunakan lagi

    Gunakan innerBounds atau outerBounds.

    Ukuran dan posisi konten di jendela (tidak termasuk kolom judul). Jika ID juga ditentukan dan jendela dengan ID yang cocok telah ditampilkan sebelumnya, batas jendela yang diingat akan digunakan sebagai gantinya.

  • terfokus

    boolean opsional

    Jika true (benar), jendela akan difokuskan saat dibuat. Nilai defaultnya adalah true (benar).

  • menyesuaikan posisi bingkai

    string | FrameOptions opsional

    Jenis frame: none atau chrome (default-nya adalah chrome). Untuk none, properti CSS -webkit-app-region dapat digunakan untuk menerapkan kemampuan tarik ke jendela aplikasi. -webkit-app-region: drag dapat digunakan untuk menandai wilayah yang dapat ditarik. no-drag dapat digunakan untuk menonaktifkan gaya ini di elemen bertingkat.

    Penggunaan FrameOptions baru di M36.

  • tersembunyi

    boolean opsional

    Jika true (benar), jendela akan dibuat dalam status tersembunyi. Panggil show() di jendela untuk menampilkannya setelah dibuat. Nilai defaultnya adalah false (salah).

  • ikon

    string opsional

    Chrome 54 dan yang lebih baru

    URL ikon jendela. Jendela dapat memiliki ikonnya sendiri jika showInShelf disetel ke true. URL harus berupa URL global atau ekstensi lokal.

  • id

    string opsional

    ID untuk mengidentifikasi jendela. Ini akan digunakan untuk mengingat ukuran dan posisi jendela serta memulihkan geometri tersebut bila jendela dengan ID yang sama nanti dibuka. Jika jendela dengan ID tertentu dibuat sementara jendela lain dengan ID yang sama sudah ada, jendela yang sedang dibuka akan difokuskan, bukan membuat jendela baru.

  • innerBounds

    Digunakan untuk menentukan posisi awal, ukuran awal, dan batasan konten jendela (tidak termasuk dekorasi jendela). Jika id juga ditentukan dan jendela dengan id yang cocok telah ditampilkan sebelumnya, batas yang diingat akan digunakan.

    Perhatikan bahwa padding di antara batas dalam dan luar ditentukan oleh OS. Oleh karena itu, menyetel properti batas yang sama untuk innerBounds dan outerBounds akan menghasilkan error.

    Properti ini baru di Chrome 36.

  • maxHeight

    angka opsional

    Tidak digunakan lagi

    Gunakan innerBounds atau outerBounds.

    Tinggi maksimum jendela.

  • maxWidth

    angka opsional

    Tidak digunakan lagi

    Gunakan innerBounds atau outerBounds.

    Lebar maksimum jendela.

  • minHeight

    angka opsional

    Tidak digunakan lagi

    Gunakan innerBounds atau outerBounds.

    Tinggi minimum jendela.

  • minWidth

    angka opsional

    Tidak digunakan lagi

    Gunakan innerBounds atau outerBounds.

    Lebar minimum jendela.

  • outerBounds

    Digunakan untuk menentukan posisi awal, ukuran awal, dan batasan jendela (termasuk dekorasi jendela seperti panel judul dan bingkai). Jika id juga ditentukan dan jendela dengan id yang cocok telah ditampilkan sebelumnya, batas yang diingat akan digunakan.

    Perhatikan bahwa padding di antara batas dalam dan luar ditentukan oleh OS. Oleh karena itu, menyetel properti batas yang sama untuk innerBounds dan outerBounds akan menghasilkan error.

    Properti ini baru di Chrome 36.

  • resizable

    boolean opsional

    Jika true (benar), jendela akan dapat diubah ukurannya oleh pengguna. Nilai defaultnya adalah true (benar).

  • showInShelf

    boolean opsional

    Chrome 54 dan yang lebih baru

    Jika true (benar), jendela akan memiliki ikon rak sendiri. Jika tidak, jendela akan dikelompokkan di rak dengan jendela lain yang dikaitkan dengan aplikasi. Nilai defaultnya adalah false (salah). Jika showInShelf disetel ke benar (true), Anda perlu menentukan ID untuk jendela tersebut.

  • singleton

    boolean opsional

    Tidak digunakan lagi

    Beberapa jendela dengan ID yang sama tidak lagi didukung.

    Secara default, jika Anda menentukan ID untuk jendela, jendela hanya akan dibuat jika jendela lain dengan ID yang sama belum ada. Jika jendela dengan ID yang sama sudah ada, jendela tersebut akan diaktifkan. Jika ingin membuat beberapa jendela dengan ID yang sama, Anda dapat menetapkan properti ini ke false.

  • dengan status tersembunyi akhir

    Negara bagian opsional

    Status awal jendela, sehingga dapat dibuat dalam mode layar penuh, dimaksimalkan, atau diperkecil. Nilai defaultnya adalah 'normal'.

  • jenis

    WindowType opsional

    Chrome 45 dan yang lebih baru Tidak digunakan lagi sejak Chrome 69

    Semua jendela aplikasi menggunakan 'shell' jenis jendela

    Jenis jendela yang akan dibuat.

  • visibleOnAllWorkspaces

    boolean opsional

    Jika true (benar), dan didukung oleh platform, jendela akan terlihat di semua ruang kerja.

FrameOptions

Properti

  • activeColor

    string opsional

    Mengizinkan warna bingkai jendela saat aktif untuk disetel. Pewarnaan bingkai hanya tersedia jika jenis bingkai adalah chrome.

    Pewarnaan bingkai hanya tersedia jika jenis bingkai adalah chrome.

    Pewarnaan bingkai merupakan hal baru di Chrome 36.

  • warna

    string opsional

    Memungkinkan warna bingkai ditetapkan. Pewarnaan bingkai hanya tersedia jika jenis bingkai adalah chrome.

    Pewarnaan bingkai merupakan hal baru di Chrome 36.

  • inactiveColor

    string opsional

    Mengizinkan warna bingkai jendela saat tidak aktif untuk disetel secara berbeda ke warna aktif. Pewarnaan bingkai hanya tersedia jika jenis bingkai adalah chrome.

    inactiveColor harus digunakan bersama dengan color.

    Pewarnaan bingkai merupakan hal baru di Chrome 36.

  • jenis

    string opsional

    Jenis frame: none atau chrome (default-nya adalah chrome).

    Untuk none, properti CSS -webkit-app-region dapat digunakan untuk menerapkan kemampuan tarik ke jendela aplikasi.

    -webkit-app-region: drag dapat digunakan untuk menandai wilayah yang dapat ditarik. no-drag dapat digunakan untuk menonaktifkan gaya ini di elemen bertingkat.

State

Status jendela: normal, layar penuh, dimaksimalkan, diperkecil.

Enum

"normal"

"layar penuh"

"dimaksimalkan"

"diminimalkan"

WindowType

Chrome 45 dan yang lebih baru

Menentukan jenis jendela yang akan dibuat.

Enum

"shell"
Jenis jendela default.

"panel"
Jendela terkelola OS (Tidak digunakan lagi).

Metode

canSetVisibleOnAllWorkspaces()

chrome.app.window.canSetVisibleOnAllWorkspaces()

Apakah platform saat ini mendukung jendela yang terlihat di semua ruang kerja.

Hasil

  • boolean

create()

Janji
chrome.app.window.create(
  url: string,
  options?: CreateWindowOptions,
  callback?: function,
)

Ukuran dan posisi jendela dapat ditentukan dengan berbagai cara. Opsi paling sederhana tidak menetapkan apa pun, dalam hal ini ukuran default dan posisi bergantung platform akan digunakan.

Untuk menetapkan posisi, ukuran, dan batasan jendela, gunakan properti innerBounds atau outerBounds. Batas dalam tidak menyertakan dekorasi jendela. Batas luar meliputi bilah judul dan bingkai jendela. Perhatikan bahwa padding di antara batas dalam dan luar ditentukan oleh OS. Oleh karena itu, menetapkan properti yang sama untuk batas dalam dan luar dianggap sebagai error (misalnya, menetapkan innerBounds.left dan outerBounds.left).

Untuk otomatis mengingat posisi jendela, Anda dapat memberikan ID kepadanya. Jika jendela memiliki ID, ID ini digunakan untuk mengingat ukuran dan posisi jendela setiap kali dipindahkan atau diubah ukurannya. Ukuran dan posisi ini kemudian digunakan sebagai ganti batas yang ditentukan pada pembukaan jendela berikutnya dengan ID yang sama. Jika perlu membuka jendela dengan ID di lokasi selain default yang diingat, Anda dapat membuatnya tersembunyi, memindahkannya ke lokasi yang diinginkan, lalu menampilkannya.

Parameter

Hasil

  • Promise<AppWindow>

    Chrome 117 dan yang lebih baru

    Promise hanya didukung untuk Manifes V3 dan yang lebih baru, platform lain perlu menggunakan callback.

current()

chrome.app.window.current()

Menampilkan objek AppWindow untuk konteks skrip saat ini (yaitu objek 'window' JavaScript). Ini juga dapat dipanggil pada handle ke konteks skrip untuk halaman lain, misalnya: otherWindow.chrome.app.window.current().

Hasil

get()

chrome.app.window.get(
  id: string,
)

Mendapatkan AppWindow dengan ID yang diberikan. Jika tidak ada jendela dengan id yang diberikan, null akan ditampilkan. Metode ini baru di Chrome 33.

Parameter

  • id

    string

Hasil

getAll()

chrome.app.window.getAll()

Mendapatkan array dari semua jendela aplikasi yang saat ini dibuat. Metode ini baru di Chrome 33.

Hasil

Acara

onBoundsChanged

chrome.app.window.onBoundsChanged.addListener(
  callback: function,
)

Diaktifkan saat ukuran jendela diubah.

Parameter

  • callback

    fungsi

    Parameter callback terlihat seperti ini:

    () => void

onClosed

chrome.app.window.onClosed.addListener(
  callback: function,
)

Diaktifkan saat jendela ditutup. Perhatikan bahwa suara ini harus didengarkan dari jendela selain jendela yang ditutup, misalnya dari halaman latar belakang. Hal ini karena jendela yang ditutup akan dalam proses dihapus saat peristiwa diaktifkan, yang berarti tidak semua API dalam konteks skrip jendela akan berfungsi.

Parameter

  • callback

    fungsi

    Parameter callback terlihat seperti ini:

    () => void

onFullscreened

chrome.app.window.onFullscreened.addListener(
  callback: function,
)

Diaktifkan saat jendela dalam mode layar penuh (baik melalui AppWindow API atau HTML5 API).

Parameter

  • callback

    fungsi

    Parameter callback terlihat seperti ini:

    () => void

onMaximized

chrome.app.window.onMaximized.addListener(
  callback: function,
)

Diaktifkan saat jendela dimaksimalkan.

Parameter

  • callback

    fungsi

    Parameter callback terlihat seperti ini:

    () => void

onMinimized

chrome.app.window.onMinimized.addListener(
  callback: function,
)

Diaktifkan saat jendela diperkecil.

Parameter

  • callback

    fungsi

    Parameter callback terlihat seperti ini:

    () => void

onRestored

chrome.app.window.onRestored.addListener(
  callback: function,
)

Diaktifkan saat jendela dipulihkan agar tidak diperkecil atau dimaksimalkan.

Parameter

  • callback

    fungsi

    Parameter callback terlihat seperti ini:

    () => void