refresh date: 2026-09-25 robots: noindex
Deskripsi
Gunakan chrome.windows API untuk berinteraksi dengan jendela browser. Anda dapat menggunakan API ini untuk membuat, mengubah, dan mengatur ulang jendela di browser.
Manifes
Saat diminta, windows.Window berisi array objek tabs.Tab. Anda harus
mendeklarasikan izin "tabs" dalam manifes jika memerlukan akses ke properti url,
pendingUrl, title, atau favIconUrl dari tabs.Tab. Contoh:
{
"name": "My extension",
...
"permissions": ["tabs"],
...
}
Jendela saat ini
Banyak fungsi dalam sistem ekstensi menggunakan argumen windowId opsional, yang secara default ditetapkan ke
jendela saat ini.
Jendela saat ini adalah jendela yang berisi kode yang sedang dieksekusi. Penting untuk disadari bahwa jendela ini dapat berbeda dari jendela paling atas atau jendela yang difokuskan.
Misalnya, sebuah ekstensi membuat beberapa tab atau jendela dari satu file HTML, dan file HTML tersebut berisi panggilan ke tabs.query(). Jendela saat ini adalah jendela yang berisi
halaman yang melakukan panggilan, apa pun jendela yang paling atas.
Dalam kasus service worker, nilai jendela saat ini akan kembali ke jendela aktif terakhir. Dalam beberapa situasi, mungkin tidak ada jendela saat ini untuk halaman latar belakang.
Contoh

Untuk mencoba API ini, instal contoh windows API dari repositori chrome-extension-samples.
Jenis
CreateType
Menentukan jenis jendela browser yang akan dibuat. 'panel' tidak digunakan lagi dan hanya tersedia untuk ekstensi yang sudah ada dalam daftar yang diizinkan di ChromeOS.
Enum
"normal"
Menentukan jendela sebagai jendela standar.
"popup"
Menentukan jendela sebagai jendela pop-up.
"panel"
Menentukan jendela sebagai panel.
QueryOptions
Properti
-
mengisi
boolean opsional
Jika benar, objek
windows.Windowmemiliki propertitabsyang berisi daftar objektabs.Tab. ObjekTabhanya berisi propertiurl,pendingUrl,title, danfavIconUrljika file manifes ekstensi menyertakan izin"tabs". -
windowTypes
WindowType[] opsional
Jika ditetapkan,
windows.Windowyang ditampilkan akan difilter berdasarkan jenisnya. Jika tidak disetel, filter default akan ditetapkan ke['normal', 'popup'].
Window
Properti
-
alwaysOnTop
boolean
Apakah jendela disetel untuk selalu berada di atas.
-
fokus
boolean
Apakah jendela saat ini adalah jendela yang difokuskan.
-
tinggi
number opsional
Tinggi jendela, termasuk bingkai, dalam piksel. Dalam beberapa situasi, jendela mungkin tidak diberi properti
height; misalnya, saat membuat kueri jendela yang ditutup dari APIsessions. -
id
number opsional
ID jendela. ID jendela bersifat unik dalam sesi browser. Dalam beberapa situasi, jendela mungkin tidak diberi properti
ID; misalnya, saat membuat kueri jendela menggunakansessionsAPI, yang dalam hal ini ID sesi mungkin ada. -
incognito
boolean
Apakah jendela dalam mode samaran.
-
kiri
number opsional
Offset jendela dari tepi kiri layar dalam piksel. Dalam beberapa situasi, jendela mungkin tidak diberi properti
left; misalnya, saat membuat kueri jendela yang ditutup dari APIsessions. -
sessionId
string opsional
ID sesi yang digunakan untuk mengidentifikasi jendela secara unik, yang diperoleh dari API
sessions. -
dengan status tersembunyi akhir
WindowState opsional
Status jendela browser ini.
-
tabs
Tab[] opsional
Array objek
tabs.Tabyang mewakili tab saat ini di jendela. -
atas
number opsional
Offset jendela dari tepi atas layar dalam piksel. Dalam beberapa situasi, jendela mungkin tidak diberi properti
top; misalnya, saat membuat kueri jendela yang ditutup dari APIsessions. -
jenis
WindowType opsional
Jenis jendela browser ini.
-
lebar
number opsional
Lebar jendela, termasuk bingkai, dalam piksel. Dalam beberapa situasi, jendela mungkin tidak diberi properti
width; misalnya, saat membuat kueri jendela yang ditutup dari APIsessions.
WindowState
Status jendela browser ini. Dalam beberapa situasi, jendela mungkin tidak diberi properti state; misalnya, saat membuat kueri jendela yang ditutup dari API sessions.
Enum
"normal"
Status jendela normal (tidak diperkecil, diperbesar, atau layar penuh).
"minimized"
Status jendela diperkecil.
"maximized"
Status jendela dimaksimalkan.
"fullscreen"
Status jendela layar penuh.
WindowType
Jenis jendela browser ini. Dalam beberapa situasi, jendela mungkin tidak diberi properti type; misalnya, saat membuat kueri jendela tertutup dari API sessions.
Enum
"normal"
Jendela browser normal.
"popup"
Pop-up browser.
"panel"
Tidak digunakan lagi di API ini. Jendela bergaya panel Aplikasi Chrome. Ekstensi hanya dapat melihat jendela panelnya sendiri.
"app"
Tidak digunakan lagi di API ini. Jendela Aplikasi Chrome. Ekstensi hanya dapat melihat jendela aplikasinya sendiri.
"devtools"
Jendela Alat Developer.
Properti
WINDOW_ID_CURRENT
Nilai windowId yang mewakili jendela saat ini.
Nilai
-2
WINDOW_ID_NONE
Nilai windowId yang menunjukkan tidak adanya jendela browser Chrome.
Nilai
-1
Metode
create()
chrome.windows.create(
createData?: object,
callback?: function,
): Promise<Window | undefined>
Membuat (membuka) jendela browser baru dengan ukuran, posisi, atau URL default opsional yang disediakan.
Parameter
-
createData
objek opsional
-
fokus
boolean opsional
Jika
true, buka jendela aktif. Jikafalse, membuka jendela yang tidak aktif. -
tinggi
number opsional
Tinggi dalam piksel jendela baru, termasuk bingkai. Jika tidak ditentukan, setelan defaultnya adalah tinggi alami.
-
incognito
boolean opsional
Apakah jendela baru harus berupa jendela samaran.
-
kiri
number opsional
Jumlah piksel untuk memosisikan jendela baru dari tepi kiri layar. Jika tidak ditentukan, jendela baru akan diimbangi secara alami dari jendela terakhir yang difokuskan. Nilai ini diabaikan untuk panel.
-
setSelfAsOpener
boolean opsional
Chrome 64+Jika
true, 'window.opener' jendela yang baru dibuat akan ditetapkan ke pemanggil dan berada dalam unit konteks penjelajahan terkait yang sama dengan pemanggil. -
dengan status tersembunyi akhir
WindowState opsional
Chrome 44+Status awal jendela. Status
minimized,maximized, danfullscreentidak dapat digabungkan denganleft,top,width, atauheight. -
tabId
number opsional
ID tab yang akan ditambahkan ke jendela baru.
-
atas
number opsional
Jumlah piksel untuk memosisikan jendela baru dari tepi atas layar. Jika tidak ditentukan, jendela baru akan diimbangi secara alami dari jendela terakhir yang difokuskan. Nilai ini diabaikan untuk panel.
-
jenis
CreateType opsional
Menentukan jenis jendela browser yang akan dibuat.
-
url
string | string[] opsional
URL atau array URL yang akan dibuka sebagai tab di jendela. URL yang sepenuhnya memenuhi syarat harus menyertakan skema, misalnya, 'http://www.google.com', bukan 'www.google.com'. URL yang tidak sepenuhnya memenuhi syarat dianggap relatif dalam ekstensi. Default-nya adalah Halaman Tab Baru.
-
lebar
number opsional
Lebar dalam piksel jendela baru, termasuk bingkai. Jika tidak ditentukan, setelan defaultnya adalah lebar alami.
-
-
callback
fungsi opsional
Parameter
callbackterlihat seperti:(window?: Window) => void
-
jendela
Jendela opsional
Berisi detail tentang jendela yang dibuat.
-
Hasil
-
Promise<Window | undefined>
Chrome 88+Promise hanya didukung untuk Manifes V3 dan yang lebih baru, platform lain harus menggunakan callback.
get()
chrome.windows.get(
windowId: number,
queryOptions?: QueryOptions,
callback?: function,
): Promise<Window>
Mendapatkan detail tentang jendela.
Parameter
-
windowId
angka
-
queryOptions
QueryOptions opsional
Chrome 88+ -
callback
fungsi opsional
Parameter
callbackterlihat seperti:(window: Window) => void
-
jendela
-
Hasil
-
Promise<Window>
Chrome 88+Promise hanya didukung untuk Manifes V3 dan yang lebih baru, platform lain harus menggunakan callback.
getAll()
chrome.windows.getAll(
queryOptions?: QueryOptions,
callback?: function,
): Promise<Window[]>
Mendapatkan semua jendela.
Parameter
-
queryOptions
QueryOptions opsional
Chrome 88+ -
callback
fungsi opsional
Parameter
callbackterlihat seperti:(windows: Window[]) => void
-
jendela
Jendela[]
-
Hasil
-
Promise<Window[]>
Chrome 88+Promise hanya didukung untuk Manifes V3 dan yang lebih baru, platform lain harus menggunakan callback.
getCurrent()
chrome.windows.getCurrent(
queryOptions?: QueryOptions,
callback?: function,
): Promise<Window>
Mendapatkan jendela saat ini.
Parameter
-
queryOptions
QueryOptions opsional
Chrome 88+ -
callback
fungsi opsional
Parameter
callbackterlihat seperti:(window: Window) => void
-
jendela
-
Hasil
-
Promise<Window>
Chrome 88+Promise hanya didukung untuk Manifes V3 dan yang lebih baru, platform lain harus menggunakan callback.
getLastFocused()
chrome.windows.getLastFocused(
queryOptions?: QueryOptions,
callback?: function,
): Promise<Window>
Mendapatkan jendela yang paling baru difokuskan — biasanya jendela 'di atas'.
Parameter
-
queryOptions
QueryOptions opsional
Chrome 88+ -
callback
fungsi opsional
Parameter
callbackterlihat seperti:(window: Window) => void
-
jendela
-
Hasil
-
Promise<Window>
Chrome 88+Promise hanya didukung untuk Manifes V3 dan yang lebih baru, platform lain harus menggunakan callback.
remove()
chrome.windows.remove(
windowId: number,
callback?: function,
): Promise<void>
Menghapus (menutup) jendela dan semua tab di dalamnya.
Parameter
-
windowId
angka
-
callback
fungsi opsional
Parameter
callbackterlihat seperti:() => void
Hasil
-
Promise<void>
Chrome 88+Promise hanya didukung untuk Manifes V3 dan yang lebih baru, platform lain harus menggunakan callback.
update()
chrome.windows.update(
windowId: number,
updateInfo: object,
callback?: function,
): Promise<Window>
Memperbarui properti jendela. Tentukan hanya properti yang akan diubah; properti yang tidak ditentukan tidak akan diubah.
Parameter
-
windowId
angka
-
updateInfo
objek
-
drawAttention
boolean opsional
Jika
true, menyebabkan jendela ditampilkan dengan cara yang menarik perhatian pengguna ke jendela, tanpa mengubah jendela yang difokuskan. Efek ini akan bertahan hingga pengguna mengubah fokus ke jendela. Opsi ini tidak berpengaruh jika jendela sudah memiliki fokus. Tetapkan kefalseuntuk membatalkan permintaandrawAttentionsebelumnya. -
fokus
boolean opsional
Jika
true, akan menampilkan jendela ke depan; tidak dapat digabungkan dengan status 'minimized'. Jikafalse, akan menampilkan jendela berikutnya dalam urutan z ke depan; tidak dapat digabungkan dengan status 'fullscreen' atau 'maximized'. -
tinggi
number opsional
Tinggi untuk mengubah ukuran jendela dalam piksel. Nilai ini diabaikan untuk panel.
-
kiri
number opsional
Offset dari tepi kiri layar untuk memindahkan jendela dalam piksel. Nilai ini diabaikan untuk panel.
-
dengan status tersembunyi akhir
WindowState opsional
Status baru jendela. Status 'minimized', 'maximized', dan 'fullscreen' tidak dapat digabungkan dengan 'left', 'top', 'width', atau 'height'.
-
atas
number opsional
Offset dari tepi atas layar untuk memindahkan jendela dalam piksel. Nilai ini diabaikan untuk panel.
-
lebar
number opsional
Lebar untuk mengubah ukuran jendela dalam piksel. Nilai ini diabaikan untuk panel.
-
-
callback
fungsi opsional
Parameter
callbackterlihat seperti:(window: Window) => void
-
jendela
-
Hasil
-
Promise<Window>
Chrome 88+Promise hanya didukung untuk Manifes V3 dan yang lebih baru, platform lain harus menggunakan callback.
Acara
onBoundsChanged
chrome.windows.onBoundsChanged.addListener(
callback: function,
)
Diaktifkan saat jendela diubah ukurannya; peristiwa ini hanya dikirim saat batas baru diterapkan, dan bukan untuk perubahan yang sedang berlangsung.
Parameter
-
callback
fungsi
Parameter
callbackterlihat seperti:(window: Window) => void
-
jendela
-
onCreated
chrome.windows.onCreated.addListener(
callback: function,
filters?: object,
)
Diaktifkan saat jendela dibuat.
Parameter
-
callback
fungsi
Chrome 46+Parameter
callbackterlihat seperti:(window: Window) => void
-
jendela
Detail jendela yang dibuat.
-
-
filter
objek opsional
-
windowTypes
Kondisi yang harus dipenuhi oleh jenis jendela yang sedang dibuat. Secara default, ini memenuhi
['normal', 'popup'].
-
onFocusChanged
chrome.windows.onFocusChanged.addListener(
callback: function,
filters?: object,
)
Diaktifkan saat jendela yang saat ini difokuskan berubah. Menampilkan chrome.windows.WINDOW_ID_NONE jika semua jendela Chrome kehilangan fokus. Catatan: Di beberapa pengelola jendela Linux, WINDOW_ID_NONE selalu dikirim segera sebelum beralih dari satu jendela Chrome ke jendela Chrome lainnya.
Parameter
-
callback
fungsi
Chrome 46+Parameter
callbackterlihat seperti:(windowId: number) => void
-
windowId
angka
ID jendela yang baru difokuskan.
-
-
filter
objek opsional
-
windowTypes
Kondisi yang harus dipenuhi oleh jenis periode yang dihapus. Secara default, ini memenuhi
['normal', 'popup'].
-
onRemoved
chrome.windows.onRemoved.addListener(
callback: function,
filters?: object,
)
Diaktifkan saat jendela dihapus (ditutup).
Parameter
-
callback
fungsi
Chrome 46+Parameter
callbackterlihat seperti:(windowId: number) => void
-
windowId
angka
ID jendela yang dihapus.
-
-
filter
objek opsional
-
windowTypes
Kondisi yang harus dipenuhi oleh jenis periode yang dihapus. Secara default, ini memenuhi
['normal', 'popup'].
-