Cara menutup jendela chrome dengan javascript

Benar. Chrome tidak pernah (dengan sengaja) mengizinkan jendela yang tidak dibuka oleh skrip untuk ditutup oleh skrip

Jika Anda memiliki pengalaman berbeda dengan Chrome, itu adalah bug, meskipun saya ragu itu pernah berhasil

Saya melihat "Skrip hanya dapat menutup jendela yang dibuka olehnya". Dan  menyarankan bahwa pesan yang Anda kutip sebenarnya adalah pesan Firefox, jadi pastikan Anda memposting ke browser yang benar

Umumnya, Anda tidak dapat menutup jendela yang dibuka oleh pengguna. Jendela memanggil. open("", "_self") tidak membuka jendela baru, itu menggunakan kembali jendela yang ada dan dengan demikian, tidak seharusnya membuatnya dapat ditutup secara tiba-tiba, saya yakin

Jika Anda dapat menutup jendela yang tidak Anda buka secara terprogram, maka itu adalah bug dan pasti sudah diperbaiki

chrome. tabs adalah API ekstensi, tidak tersedia untuk halaman web (Anda dapat membuat ekstensi yang akan menutup jendela untuk Anda)

Contoh

Gunakan open() untuk membuka jendela dan close() untuk menutup jendela

biarkan jendelaku;

fungsi openWin() {
myWindow = jendela. buka("", "Jendelasaya", "lebar=200, tinggi=100");
}

fungsi closeWin() {
myWindow. menutup();
}

Cobalah sendiri "

Lebih banyak contoh di bawah ini


Definisi dan Penggunaan

Metode close() menutup jendela


Sintaksis

Parameter

Nilai Pengembalian


Lebih Banyak Contoh

Contoh

Buka "www. w3schools. com" di jendela baru, dan gunakan close() untuk menutupnya

fungsi openWin() {
myWindow = jendela. buka("https. // www. w3schools. com", "_kosong", "lebar=200, tinggi=100");
}

fungsi closeWin() {
myWindow. menutup();
}

Cobalah sendiri "


Dukungan Peramban

close() didukung di semua browser

ChromeEdgeFirefoxSafariOperaIEYaYaYaYaYa

JavaScript tidak mengizinkan seseorang untuk menutup jendela yang dibuka oleh pengguna, menggunakan jendela tersebut. metode close() karena masalah keamanan. Namun, kita dapat menutup jendela dengan menggunakan solusi. Pendekatan yang harus diikuti adalah dengan membuka URL saat ini menggunakan JavaScript sehingga bisa ditutup dengan skrip

Mendekati. Langkah-langkah di bawah ini menunjukkan pendekatan ini

  • Membuka jendela baru menggunakan metode open(). Pertama, kita perlu membuka jendela baru menggunakan jendela. buka() metode. URL saat ini dapat diakses menggunakan properti location dari objek window. Atribut target atau nilai nama jendela diberikan sebagai _self. Ini penting karena membuat URL menggantikan halaman saat ini
  • Tutup jendela yang terbuka ini menggunakan metode close(). Jendela. metode close() menutup jendela tempat ia dipanggil. Jendela yang dibuka pada langkah pertama ditutup dengan menggunakan metode ini. Ini berfungsi karena jendela sekarang telah dibuka oleh skrip kami, bukan oleh pengguna

Catatan. Pendekatan ini mungkin tidak berfungsi di semua browser karena penerapan keamanan browser yang berbeda

Metode ini hanya dapat dipanggil di windows yang dibuka dengan skrip menggunakan metode Window.open(). Jika jendela tidak dibuka oleh skrip, kesalahan yang mirip dengan ini akan muncul di konsol. Scripts may not close windows that were not opened by script._

Perhatikan juga bahwa close() tidak berpengaruh saat dipanggil pada objek Window yang dikembalikan oleh HTMLIFrameElement.contentWindow

close()

Tidak ada

Tidak ada (undefined)

Contoh ini menunjukkan metode yang membuka jendela dan yang kedua menutup jendela;

Jika jawabannya adalah solusi yang tepat, silakan klik "Terima Jawaban" dan mohon upvote. Jika Anda memiliki pertanyaan tambahan tentang jawaban ini, silakan klik "Komentar"

Catatan. Silakan ikuti langkah-langkah dalam dokumentasi kami untuk mengaktifkan pemberitahuan email jika Anda ingin menerima pemberitahuan email terkait untuk utas ini

Javascript biasa tidak bisa menutup windows mau tidak mau. Ini adalah fitur keamanan, yang diperkenalkan beberapa waktu lalu, untuk menghentikan berbagai eksploitasi dan gangguan berbahaya

Dari

Metode close() pada objek Window harus, jika semua kondisi berikut terpenuhi, menutup konteks penelusuran A

  • Konteks penjelajahan yang sesuai A dapat ditutup skrip
  • Konteks penjelajahan skrip incumbent akrab dengan konteks penjelajahan A
  • Konteks penelusuran skrip incumbent diizinkan untuk menavigasi konteks penelusuran A

Konteks penjelajahan dapat ditutup skrip jika itu adalah konteks penjelajahan tambahan yang dibuat oleh skrip (berlawanan dengan tindakan pengguna), atau jika itu adalah konteks penjelajahan yang riwayat sesinya hanya berisi satu Dokumen

Artinya, dengan satu pengecualian kecil, javascript tidak boleh menutup jendela yang tidak dibuka oleh javascript yang sama

Chrome mengizinkan pengecualian itu - yang tidak berlaku untuk skrip pengguna - namun Firefox tidak.

Metode ini hanya boleh dipanggil untuk windows yang dibuka oleh skrip menggunakan metode window.open


Jika Anda mencoba menggunakan window.close_ dari Greasemonkey / Tampermonkey / userscript Anda akan mendapatkan
Firefox. Pesan kesalahan, "Scripts may not close windows that were not opened by script."
Chrome. hanya diam-diam gagal


Cara terbaik untuk mengatasinya adalah dengan membuat ekstensi Chrome dan/atau add-on Firefox sebagai gantinya. Ini dengan andal dapat menutup jendela saat ini

Namun, karena risiko keamanan, yang ditimbulkan oleh window.close, jauh lebih sedikit untuk skrip Greasemonkey/Tampermonkey;
Pertimbangkan untuk membuat permintaan fitur


Chrome saat ini rentan terhadap eksploitasi "self redirection". Jadi kode seperti ini dulu berfungsi secara umum

open(location, '_self').close();
_

Ini adalah perilaku buggy, IMO, dan sekarang (kira-kira April 2015) sebagian besar diblokir. Itu masih akan berfungsi dari kode yang disuntikkan hanya jika tab baru dibuka dan tidak memiliki halaman dalam riwayat penelusuran. Jadi itu hanya berguna dalam keadaan yang sangat kecil

Namun, variasi masih berfungsi di Chrome (v43 & v44) plus Tampermonkey (v3. 11 atau lebih baru). Gunakan @grant eksplisit dan window.close() polos. MISALNYA

// ==UserScript==
// @name        window.close demo
// @include     http://YOUR_SERVER.COM/YOUR_PATH/*
// @grant       GM_addStyle
// ==/UserScript==

setTimeout (window.close, 5000);

Terima kasih kepada zanetu untuk pembaruannya. Perhatikan bahwa ini tidak akan berfungsi jika hanya ada satu tab yang terbuka. Itu hanya menutup tab tambahan


Firefox aman terhadap eksploit itu. Jadi, satu-satunya cara javascript adalah melumpuhkan pengaturan keamanan, satu browser dalam satu waktu

Anda dapat membuka

// ==UserScript==
// @name        window.close demo
// @include     http://YOUR_SERVER.COM/YOUR_PATH/*
// @grant       GM_addStyle
// ==/UserScript==

setTimeout (window.close, 5000);
_0 dan mengatur
// ==UserScript==
// @name        window.close demo
// @include     http://YOUR_SERVER.COM/YOUR_PATH/*
// @grant       GM_addStyle
// ==/UserScript==

setTimeout (window.close, 5000);
1 sampai
// ==UserScript==
// @name        window.close demo
// @include     http://YOUR_SERVER.COM/YOUR_PATH/*
// @grant       GM_addStyle
// ==/UserScript==

setTimeout (window.close, 5000);
2

Jika skrip Anda untuk penggunaan pribadi, lanjutkan dan lakukan itu. Jika Anda meminta orang lain untuk mengaktifkan pengaturan itu, mereka akan cerdas, dan dibenarkan, untuk menolak dengan prasangka

Bagaimana cara menutup jendela Chrome di JavaScript?

Cukup panggil jendela. close() dan itu akan menutup jendela saat ini.

Bagaimana cara menutup jendela browser menggunakan JavaScript?

JavaScript menyediakan fungsi bawaan bernama close() untuk menutup jendela browser yang dibuka dengan menggunakan window. buka() metode.

Bagaimana cara menutup jendela saat ini di Chrome?

Pilih opsi. .
Di kanan atas tab, klik Tutup
Pilih pintasan keyboard. Di Windows & Linux, tekan Ctrl + w. Di Mac, tekan ⌘ + w

Bagaimana cara menutup jendela setelah peringatan di JavaScript?

Letakkan saja pernyataan satu per satu. peringatan("oke"); . tutup();