Deskripsi
Gunakan chrome.app.window API untuk membuat jendela. Jendela memiliki bingkai opsional dengan panel judul dan kontrol ukuran. Tab ini tidak terkait dengan jendela browser Chrome apa pun. Lihat Contoh Status Jendela untuk demonstrasi opsi ini.
Jenis
AppWindow
Properti
-
contentWindow
Jendela
Objek 'window' JavaScript untuk turunan yang dibuat.
-
id
string
ID yang digunakan untuk membuat jendela.
-
innerBounds
Posisi, ukuran, dan batasan konten jendela, yang tidak mencakup 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
clearAttentionterlihat seperti:() => {...} -
tutup
void
Tutup jendela.
Fungsi
closeterlihat seperti:() => {...} -
drawAttention
void
Menarik perhatian ke jendela.
Fungsi
drawAttentionterlihat seperti:() => {...} -
fokus
void
Fokuskan jendela.
Fungsi
focusterlihat seperti:() => {...} -
layar penuh
void
Menampilkan jendela dalam layar penuh.
Pengguna akan dapat memulihkan jendela dengan menekan ESC. Aplikasi dapat mencegah status layar penuh keluar saat ESC ditekan dengan meminta izin
app.window.fullscreen.overrideEscdan membatalkan peristiwa dengan memanggil .preventDefault(), di 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. HTML5 fullscreen API juga dapat digunakan untuk masuk ke mode layar penuh (lihat Web API untuk mengetahui detail selengkapnya).Fungsi
fullscreenterlihat seperti:() => {...} -
getBounds
void
Tidak digunakan lagiGunakan innerBounds atau outerBounds.
Mendapatkan batas dalam jendela sebagai objek
ContentBounds.Fungsi
getBoundsterlihat seperti:() => {...}-
return
-
-
sembunyikan
void
Sembunyikan jendela. Tidak melakukan apa pun jika jendela sudah disembunyikan.
Fungsi
hideterlihat seperti:() => {...} -
isAlwaysOnTop
void
Apakah jendela selalu berada di atas?
Fungsi
isAlwaysOnTopterlihat seperti:() => {...}-
return
boolean
-
-
isFullscreen
void
Apakah jendela dalam mode layar penuh? Nilai ini akan benar jika jendela telah dibuat dalam mode layar penuh atau dibuat dalam mode layar penuh melalui
AppWindowatau API layar penuh HTML5.Fungsi
isFullscreenterlihat seperti:() => {...}-
return
boolean
-
-
isMaximized
void
Apakah jendela dimaksimalkan?
Fungsi
isMaximizedterlihat seperti:() => {...}-
return
boolean
-
-
isMinimized
void
Apakah jendela diminimalkan?
Fungsi
isMinimizedterlihat seperti:() => {...}-
return
boolean
-
-
memaksimalkan
void
Maksimalkan jendela.
Fungsi
maximizeterlihat seperti:() => {...} -
meminimalkan
void
Minimalkan jendela.
Fungsi
minimizeterlihat seperti:() => {...} -
moveTo
void
Tidak digunakan lagi sejak Chrome 43Gunakan outerBounds.
Pindahkan jendela ke posisi (
left,top).Fungsi
moveToterlihat seperti:(left: number, top: number) => {...}
-
kiri
angka
-
atas
angka
-
-
resizeTo
void
Tidak digunakan lagi sejak Chrome 43Gunakan outerBounds.
Ubah ukuran jendela menjadi
widthxheightpiksel.Fungsi
resizeToterlihat seperti:(width: number, height: number) => {...}
-
lebar
angka
-
tinggi
angka
-
-
pulihkan
void
Memulihkan jendela, keluar dari status dimaksimalkan, diminimalkan, atau layar penuh.
Fungsi
restoreterlihat seperti:() => {...} -
setAlwaysOnTop
void
Menetapkan apakah jendela harus tetap berada di atas sebagian besar jendela lainnya. Memerlukan izin
alwaysOnTopWindows.Fungsi
setAlwaysOnTopterlihat seperti:(alwaysOnTop: boolean) => {...}
-
alwaysOnTop
boolean
-
-
setBounds
void
Tidak digunakan lagiGunakan innerBounds atau outerBounds.
Menetapkan batas dalam jendela.
Fungsi
setBoundsterlihat seperti:(bounds: ContentBounds) => {...}
-
batas
-
-
setVisibleOnAllWorkspaces
void
Menetapkan apakah jendela terlihat di semua ruang kerja. (Hanya untuk platform yang mendukungnya).
Fungsi
setVisibleOnAllWorkspacesterlihat seperti:(alwaysVisible: boolean) => {...}
-
alwaysVisible
boolean
-
-
tunjukkan
void
Tampilkan jendela. Tidak melakukan apa pun jika jendela sudah terlihat. Fokuskan jendela jika
focusedditetapkan ke true atau dihilangkan.Fungsi
showterlihat seperti:(focused?: boolean) => {...}
-
fokus
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
number opsional
Properti ini dapat digunakan untuk membaca atau menulis tinggi maksimum konten atau jendela saat ini. Nilai
nullmenunjukkan 'tidak ditentukan'. -
maxWidth
number opsional
Properti ini dapat digunakan untuk membaca atau menulis lebar maksimum konten atau jendela saat ini. Nilai
nullmenunjukkan 'tidak ditentukan'. -
minHeight
number opsional
Properti ini dapat digunakan untuk membaca atau menulis tinggi minimum konten atau jendela saat ini. Nilai
nullmenunjukkan 'tidak ditentukan'. -
minWidth
number opsional
Properti ini dapat digunakan untuk membaca atau menulis lebar minimum saat ini dari konten atau jendela. Nilai
nullmenunjukkan 'tidak ditentukan'. -
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
Tetapkan batasan ukuran maksimum konten atau jendela. Lebar atau tinggi maksimum dapat ditetapkan ke
nulluntuk menghapus batasan. Nilaiundefinedakan membiarkan batasan tidak berubah.Fungsi
setMaximumSizeterlihat seperti:(maxWidth: number, maxHeight: number) => {...}
-
maxWidth
angka
-
maxHeight
angka
-
-
setMinimumSize
void
Tetapkan batasan ukuran minimum konten atau jendela. Lebar atau tinggi minimum dapat ditetapkan ke
nulluntuk menghapus batasan. Nilaiundefinedakan membiarkan batasan tidak berubah.Fungsi
setMinimumSizeterlihat seperti:(minWidth: number, minHeight: number) => {...}
-
minWidth
angka
-
minHeight
angka
-
-
setPosition
void
Menetapkan posisi kiri dan atas konten atau jendela.
Fungsi
setPositionterlihat seperti:(left: number, top: number) => {...}
-
kiri
angka
-
atas
angka
-
-
setSize
void
Menetapkan lebar dan tinggi konten atau jendela.
Fungsi
setSizeterlihat seperti:(width: number, height: number) => {...}
-
lebar
angka
-
tinggi
angka
-
BoundsSpecification
Properti
-
tinggi
number opsional
Tinggi konten atau jendela.
-
kiri
number opsional
Koordinat X konten atau jendela.
-
maxHeight
number opsional
Tinggi maksimum konten atau jendela.
-
maxWidth
number opsional
Lebar maksimum konten atau jendela.
-
minHeight
number opsional
Tinggi minimum konten atau jendela.
-
minWidth
number opsional
Lebar minimum konten atau jendela.
-
atas
number opsional
Koordinat Y konten atau jendela.
-
lebar
number opsional
Lebar konten atau jendela.
ContentBounds
Properti
-
tinggi
number opsional
-
kiri
number opsional
-
atas
number opsional
-
lebar
number opsional
CreateWindowOptions
Properti
-
alwaysOnTop
boolean opsional
Jika true, jendela akan tetap berada di atas sebagian besar jendela lainnya. Jika ada beberapa jendela seperti 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.
-
fokus
boolean opsional
Jika benar (true), jendela akan difokuskan saat dibuat. Nilai defaultnya adalah true (benar).
-
frame
string | FrameOptions opsional
Jenis bingkai:
noneatauchrome(defaultnya adalahchrome). Untuknone, properti CSS-webkit-app-regiondapat digunakan untuk menerapkan kemampuan ditarik ke jendela aplikasi.-webkit-app-region: dragdapat digunakan untuk menandai wilayah yang dapat ditarik.no-dragdapat digunakan untuk menonaktifkan gaya ini pada elemen bertingkat.Penggunaan
FrameOptionsbaru tersedia di M36. -
boolean opsional
Jika true, jendela akan dibuat dalam status tersembunyi. Panggil show() di jendela untuk menampilkannya setelah dibuat. Nilai defaultnya adalah false (salah).
-
ikon
string opsional
Chrome 54+URL ikon jendela. Jendela dapat memiliki ikonnya sendiri jika showInShelf disetel ke true. URL harus berupa URL global atau URL lokal ekstensi.
-
id
string opsional
ID untuk mengidentifikasi jendela. ID ini akan digunakan untuk mengingat ukuran dan posisi jendela serta memulihkan geometri tersebut saat jendela dengan ID yang sama dibuka nanti. Jika jendela dengan ID tertentu dibuat saat jendela lain dengan ID yang sama sudah ada, jendela yang saat ini terbuka 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
idjuga ditentukan dan jendela denganidyang cocok telah ditampilkan sebelumnya, batas yang diingat akan digunakan.Perhatikan bahwa padding antara batas dalam dan luar ditentukan oleh OS. Oleh karena itu, menetapkan properti batas yang sama untuk
innerBoundsdanouterBoundsakan menghasilkan error.Properti ini baru di Chrome 36.
-
maxHeight
number opsional
Tidak digunakan lagiGunakan innerBounds atau outerBounds.
Tinggi maksimum jendela.
-
maxWidth
number opsional
Tidak digunakan lagiGunakan innerBounds atau outerBounds.
Lebar maksimum jendela.
-
minHeight
number opsional
Tidak digunakan lagiGunakan innerBounds atau outerBounds.
Tinggi minimum jendela.
-
minWidth
number 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 kolom judul dan bingkai). Jika
idjuga ditentukan dan jendela denganidyang cocok telah ditampilkan sebelumnya, batas yang diingat akan digunakan.Perhatikan bahwa padding antara batas dalam dan luar ditentukan oleh OS. Oleh karena itu, menetapkan properti batas yang sama untuk
innerBoundsdanouterBoundsakan menghasilkan error.Properti ini baru di Chrome 36.
-
resizable
boolean opsional
Jika true, jendela dapat diubah ukurannya oleh pengguna. Nilai defaultnya adalah true (benar).
-
showInShelf
boolean opsional
Chrome 54+Jika benar, jendela akan memiliki ikon panel aplikasi sendiri. Jika tidak, jendela akan dikelompokkan di panel bersama jendela lain yang terkait dengan aplikasi. Defaultnya adalah false. Jika showInShelf ditetapkan ke true, Anda harus menentukan ID untuk jendela.
-
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
State opsional
Status awal jendela, yang memungkinkannya dibuat dalam mode layar penuh, dimaksimalkan, atau diminimalkan. Defaultnya adalah 'normal'.
-
jenis
WindowType opsional
Chrome 45+ Tidak digunakan lagi sejak Chrome 69Semua jendela aplikasi menggunakan jenis jendela 'shell'
Jenis jendela yang akan dibuat.
-
visibleOnAllWorkspaces
boolean opsional
Jika benar, dan didukung oleh platform, jendela akan terlihat di semua ruang kerja.
FrameOptions
Properti
-
activeColor
string opsional
Memungkinkan 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 adalah fitur baru di Chrome 36.
-
warna
string opsional
Memungkinkan warna bingkai ditetapkan. Pewarnaan bingkai hanya tersedia jika jenis bingkai adalah
chrome.Pewarnaan bingkai adalah fitur baru di Chrome 36.
-
inactiveColor
string opsional
Memungkinkan warna bingkai jendela saat tidak aktif ditetapkan secara berbeda dengan warna aktif. Pewarnaan bingkai hanya tersedia jika jenis bingkai adalah
chrome.inactiveColorharus digunakan bersama dengancolor.Pewarnaan bingkai adalah fitur baru di Chrome 36.
-
jenis
string opsional
Jenis frame:
noneatauchrome(default-nya adalahchrome).Untuk
none, properti CSS-webkit-app-regiondapat digunakan untuk menerapkan kemampuan ditarik ke jendela aplikasi.-webkit-app-region: dragdapat digunakan untuk menandai wilayah yang dapat ditarik.no-dragdapat digunakan untuk menonaktifkan gaya ini pada elemen bertingkat.
State
Status jendela: normal, layar penuh, dimaksimalkan, diminimalkan.
Enum
"normal"
"fullscreen"
"dimaksimalkan"
"minimized"
WindowType
Menentukan jenis jendela yang akan dibuat.
Enum
"shell"
Jenis jendela default.
"panel"
Jendela yang dikelola OS (Tidak digunakan lagi).
Metode
canSetVisibleOnAllWorkspaces()
chrome.app.window.canSetVisibleOnAllWorkspaces(): boolean
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,
): Promise<AppWindow>
Ukuran dan posisi jendela dapat ditentukan dengan berbagai cara. Opsi paling sederhana adalah tidak menentukan apa pun, sehingga ukuran default dan posisi yang bergantung pada platform akan digunakan.
Untuk menetapkan posisi, ukuran, dan batasan jendela, gunakan properti innerBounds atau outerBounds. Batas dalam tidak menyertakan dekorasi jendela. Batas luar mencakup panel judul dan bingkai jendela. Perhatikan bahwa padding 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 mengingat posisi jendela secara otomatis, Anda dapat memberinya ID. Jika jendela memiliki ID, ID ini digunakan untuk mengingat ukuran dan posisi jendela setiap kali jendela dipindahkan atau diubah ukurannya. Ukuran dan posisi ini kemudian digunakan, bukan 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
callbackterlihat seperti:(createdWindow: AppWindow) => void
-
createdWindow
-
Hasil
-
Promise<AppWindow>
Chrome 117+Promise hanya didukung untuk Manifes V3 dan yang lebih baru, platform lain harus menggunakan callback.
current()
chrome.app.window.current(): AppWindow | undefined
Menampilkan objek AppWindow untuk konteks skrip saat ini (yaitu objek 'window' JavaScript). Hal ini juga dapat dipanggil pada handle ke konteks skrip untuk halaman lain, misalnya: otherWindow.chrome.app.window.current().
Hasil
-
AppWindow | undefined
get()
chrome.app.window.get(
id: string,
): AppWindow | undefined
Mendapatkan AppWindow dengan ID yang ditentukan. Jika tidak ada jendela dengan ID yang diberikan, null akan ditampilkan. Metode ini baru di Chrome 33.
Parameter
-
id
string
Hasil
-
AppWindow | undefined
getAll()
chrome.app.window.getAll(): AppWindow[]
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
callbackterlihat seperti:() => void
onClosed
chrome.app.window.onClosed.addListener(
callback: function,
)
Diaktifkan saat jendela ditutup. Perhatikan bahwa peristiwa ini harus diproses dari jendela selain jendela yang ditutup, misalnya dari halaman latar belakang. Hal ini karena jendela yang ditutup akan dalam proses dihancurkan saat peristiwa diaktifkan, yang berarti tidak semua API dalam konteks skrip jendela akan berfungsi.
Parameter
-
callback
fungsi
Parameter
callbackterlihat seperti:() => void
onFullscreened
chrome.app.window.onFullscreened.addListener(
callback: function,
)
Diaktifkan saat jendela ditampilkan dalam layar penuh (baik melalui AppWindow atau API HTML5).
Parameter
-
callback
fungsi
Parameter
callbackterlihat seperti:() => void
onMaximized
chrome.app.window.onMaximized.addListener(
callback: function,
)
Diaktifkan saat jendela dimaksimalkan.
Parameter
-
callback
fungsi
Parameter
callbackterlihat seperti:() => void
onMinimized
chrome.app.window.onMinimized.addListener(
callback: function,
)
Diaktifkan saat jendela diminimalkan.
Parameter
-
callback
fungsi
Parameter
callbackterlihat seperti:() => void
onRestored
chrome.app.window.onRestored.addListener(
callback: function,
)
Diaktifkan saat jendela dipulihkan dari status diperkecil atau diperbesar.
Parameter
-
callback
fungsi
Parameter
callbackterlihat seperti:() => void