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 lagiGunakan innerBounds atau outerBounds.
Mendapatkan batas dalam jendela sebagai objek
ContentBounds
.Fungsi
getBounds
akan terlihat seperti ini:() => {...}
-
akan menampilkan
-
-
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 43Gunakan 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 43Gunakan outerBounds.
Ubah ukuran jendela menjadi
width
xheight
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 lagiGunakan innerBounds atau outerBounds.
Tetapkan batas dalam jendela.
Fungsi
setBounds
akan terlihat seperti ini:(bounds: ContentBounds) => {...}
-
batas
-
-
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. Nilaiundefined
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. Nilaiundefined
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 lagiGunakan 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
atauchrome
(default-nya adalahchrome
). Untuknone
, 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. -
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 baruURL 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
BoundsSpecification opsional
Digunakan untuk menentukan posisi awal, ukuran awal, dan batasan konten jendela (tidak termasuk dekorasi jendela). Jika
id
juga ditentukan dan jendela denganid
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
danouterBounds
akan menghasilkan error.Properti ini baru di Chrome 36.
-
maxHeight
angka opsional
Tidak digunakan lagiGunakan innerBounds atau outerBounds.
Tinggi maksimum jendela.
-
maxWidth
angka opsional
Tidak digunakan lagiGunakan innerBounds atau outerBounds.
Lebar maksimum jendela.
-
minHeight
angka opsional
Tidak digunakan lagiGunakan innerBounds atau outerBounds.
Tinggi minimum jendela.
-
minWidth
angka opsional
Tidak digunakan lagiGunakan innerBounds atau outerBounds.
Lebar minimum jendela.
-
outerBounds
BoundsSpecification opsional
Digunakan untuk menentukan posisi awal, ukuran awal, dan batasan jendela (termasuk dekorasi jendela seperti panel judul dan bingkai). Jika
id
juga ditentukan dan jendela denganid
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
danouterBounds
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 baruJika 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 lagiBeberapa 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 69Semua 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 dengancolor
.Pewarnaan bingkai merupakan hal baru di Chrome 36.
-
jenis
string opsional
Jenis frame:
none
atauchrome
(default-nya adalahchrome
).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
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()
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
-
url
string
-
opsi
CreateWindowOptions opsional
-
callback
fungsi opsional
Parameter
callback
terlihat seperti ini:(createdWindow: AppWindow) => void
-
createdWindow
-
Hasil
-
Promise<AppWindow>
Chrome 117 dan yang lebih baruPromise 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
-
AppWindow | tidak ditentukan
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
-
AppWindow | tidak ditentukan
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