Bagaimana saya bisa menutup jendela browser tanpa menerima prompt Apakah Anda ingin menutup jendela ini ?
Prompt muncul saat saya menggunakan window.close();
fungsi.
Bagaimana saya bisa menutup jendela browser tanpa menerima prompt Apakah Anda ingin menutup jendela ini ?
Prompt muncul saat saya menggunakan window.close();
fungsi.
Jawaban:
window.open('', '_self', ''); window.close();
Ini berhasil untuk saya.
showModalDialog
? Ini tidak bekerja pada IE10
Temanku ... ada cara tetapi "hack" tidak mulai menggambarkannya. Pada dasarnya Anda harus mengeksploitasi bug di IE 6 & 7.
Bekerja setiap saat!
Alih-alih menelepon window.close()
, alihkan ke halaman lain.
Halaman Pembuka:
alert("No whammies!");
window.open("closer.htm", '_self');
Alihkan ke halaman lain. Hal ini membodohi IE untuk membiarkan Anda menutup browser di halaman ini.
Halaman Penutup:
<script type="text/javascript">
window.close();
</script>
Luar biasa ya ?!
Skrip tidak diizinkan untuk menutup jendela yang dibuka pengguna. Ini dianggap sebagai risiko keamanan. Meskipun tidak dalam standar apa pun, semua vendor browser mengikuti ini ( dokumen Mozilla ). Jika ini terjadi di beberapa browser, itu adalah bug keamanan yang (idealnya) ditambal dengan sangat cepat.
Tak satu pun dari retasan dalam jawaban atas pertanyaan ini yang berfungsi lagi, dan jika seseorang muncul dengan peretasan kotor lainnya, pada akhirnya itu akan berhenti berfungsi juga.
Saya sarankan Anda tidak membuang-buang energi untuk melawan ini dan merangkul metode yang diberikan browser dengan sangat membantu kepada Anda - tanyakan kepada pengguna sebelum Anda tampaknya merusak halaman mereka.
Berikut adalah fungsi Javascript yang saya gunakan untuk menutup browser tanpa Prompt atau Warning, bisa juga dipanggil dari Flash. Ini harus dalam file html.
function closeWindows() {
var browserName = navigator.appName;
var browserVer = parseInt(navigator.appVersion);
//alert(browserName + " : "+browserVer);
//document.getElementById("flashContent").innerHTML = "<br> <font face='Arial' color='blue' size='2'><b> You have been logged out of the Game. Please Close Your Browser Window.</b></font>";
if(browserName == "Microsoft Internet Explorer"){
var ie7 = (document.all && !window.opera && window.XMLHttpRequest) ? true : false;
if (ie7)
{
//This method is required to close a window without any prompt for IE7 & greater versions.
window.open('','_parent','');
window.close();
}
else
{
//This method is required to close a window without any prompt for IE6
this.focus();
self.opener = this;
self.close();
}
}else{
//For NON-IE Browsers except Firefox which doesnt support Auto Close
try{
this.focus();
self.opener = this;
self.close();
}
catch(e){
}
try{
window.open('','_self','');
window.close();
}
catch(e){
}
}
}
showModalDialog
. Aktif closeWindows
, Ini membuka jendela baru (halaman yang sama) sementara yang sebelumnya masih terbuka.
Ini berfungsi di Chrome 26, Internet Explorer 9 dan Safari 5.1.7 ( tanpa menggunakan halaman pembantu, ala jawaban Nick):
<script type="text/javascript">
window.open('javascript:window.open("", "_self", "");window.close();', '_self');
</script>
Bersarang window.open
adalah untuk membuat IE tidak menampilkan prompt Apakah Anda ingin menutup jendela ini .
Sayangnya, Firefox tidak dapat menutup jendela.
Di tag tubuh:
<body onload="window.open('', '_self', '');">
Untuk menutup jendela:
<a href="javascript:window.close();">
Diuji pada Safari 4.0.5, FF untuk Mac 3.6, IE 8.0, dan FF untuk Windows 3.5
Untuk alasan keamanan, jendela hanya dapat ditutup di JavaScript jika dibuka oleh JavaScript. Untuk menutup jendela, Anda harus membuka jendela baru dengan _self
sebagai target, yang akan menimpa jendela Anda saat ini, dan kemudian menutup jendela tersebut (yang dapat Anda lakukan karena dibuka melalui JavaScript).
window.open('', '_self', '');
window.close();
Dari sini :
<a href="javascript:window.opener='x';window.close();">Close</a>
Anda perlu mengatur window.opener
sesuatu, jika tidak maka akan mengeluh.
window.open('', '_self', '').close();
Maaf agak terlambat di sini, tetapi saya menemukan solusinya, setidaknya untuk kasus saya. Diuji di Safari 11.0.3 dan Google Chrome 64.0.3282.167
Karena peningkatan keamanan di IE, Anda tidak dapat menutup jendela kecuali jika dibuka oleh skrip. Jadi cara menyiasatinya adalah membiarkan browser mengira bahwa halaman ini dibuka menggunakan skrip, dan kemudian menutup jendela. Berikut implementasinya.
Coba ini, ini berfungsi seperti pesona!
javascript tutup jendela saat ini tanpa perintah IE
<script type="text/javascript">
function closeWP() {
var Browser = navigator.appName;
var indexB = Browser.indexOf('Explorer');
if (indexB > 0) {
var indexV = navigator.userAgent.indexOf('MSIE') + 5;
var Version = navigator.userAgent.substring(indexV, indexV + 1);
if (Version >= 7) {
window.open('', '_self', '');
window.close();
}
else if (Version == 6) {
window.opener = null;
window.close();
}
else {
window.opener = '';
window.close();
}
}
else {
window.close();
}
}
</script>
Buat fungsi JavaScript
<script type="text/javascript">
function closeme() {
window.open('', '_self', '');
window.close();
}
</script>
Sekarang tulis kode ini dan panggil fungsi JavaScript di atas
<a href="Help.aspx" target="_blank" onclick="closeme();">Help</a>
Atau sederhananya:
<a href="" onclick="closeme();">close</a>
Ini akan berhasil:
<script type="text/javascript">
function closeWindowNoPrompt()
{
window.open('', '_parent', '');
window.close();
}
</script>
window.opener=window;
window.close();
Tempatkan kode berikut di ASPX.
<script language=javascript>
function CloseWindow()
{
window.open('', '_self', '');
window.close();
}
</script>
Tempatkan kode berikut dalam kode di belakang acara klik tombol.
string myclosescript = "<script language='javascript' type='text/javascript'>CloseWindow();</script>";
Page.ClientScript.RegisterStartupScript(GetType(), "myclosescript", myclosescript);
Jika Anda tidak memiliki pemrosesan apa pun sebelum menutup, maka Anda dapat langsung memasukkan kode berikut di ASPX itu sendiri di tag klik tombol.
OnClientClick="CloseWindow();"
Semoga ini membantu.
Dalam situasi saya, kode berikut disematkan ke dalam file php.
var PreventExitPop = true;
function ExitPop() {
if (PreventExitPop != false) {
return "Hold your horses! \n\nTake the time to reserve your place.Registrations might become paid or closed completely to newcomers!"
}
}
window.onbeforeunload = ExitPop;
Jadi saya membuka konsol dan menulis yang berikut ini
PreventExitPop = false
Ini memecahkan masalah. Jadi, cari tahu kode JavaScript dan temukan variabelnya dan tetapkan ke "nilai" yang sesuai yang dalam kasus saya adalah "salah"
Saya akan memposting ini karena inilah yang saat ini saya gunakan untuk situs saya dan berfungsi di Google Chrome dan IE 10 tanpa menerima pesan popup:
<html>
<head>
</head>
<body onload="window.close();">
</body>
</html>
Saya memiliki fungsi di situs saya yang ingin saya jalankan untuk menyimpan variabel on / off ke sesi tanpa langsung membuka halaman baru jadi saya hanya membuka halaman web popup kecil. Halaman web itu kemudian segera menutup sendiri dengan onload="window.close();"
fungsinya.
a
dengan target=_blank
untuk membuka jendela popup kecil di url tertentu, lalu akhirnya saya menggunakan JS untuk menutup jendela. Tujuannya adalah agar url tertentu menyimpan nilai ke sesi untuk menonaktifkan gambar latar belakang, meskipun di sini saya akan segera menghapusnya demi ajax setelah saya mengetahui cara melakukan ajax. (masih belajar tali persay)
window.open('','_self').close()