javascript veya PHP kullanarak tarayıcı penceresini kapatmadan önce onaylama iletişim kutusunu görüntülemem gerekiyor. tarayıcının kapat düğmesine tıkladığımda onay kutusu gelmelidir. diğer bilge görüntüleme iletişim kutusu yok. Lütfen bana yardım edin. Sen onbeforeunload olay işlemesi gerektiğiniTarayıcıyı kapattığımda iletişim kutusunu onaylayın.
cevap
...
function closeEditorWarning(){
return 'Are you sure?'
}
window.onbeforeunload = closeEditorWarning;
Or (
function doUnload()
{
// use confirm dialog box here
confirm("Window is closing...");
}
<body onunload="doUnload()">
onBeforeOnload, kullanılacak olay işleyicisidir. – mplungjan
onunload
çok kullanışlı değildir güzel yapmak jquery, window.attachEvent/window.addEventListener kullanmak benim Görüş) ile 10 isteğinizi istediğiniz gibi (window.open
ile yeni bir pencere açmayı deneyebilirsiniz), onbeforeunload
daha yararlıdır bu durum için.
Daha iyi bir oyun, onbeforeunload
numaralı telefondan harikadır, ancak Opera'da çalışmaz (bu genellikle bir anlaşma değil).
sarmaşık şöyle bir şey olmazdı, der ki:
<script>
var userIsEditingSomething; // set this if something crazy happens
oldOnBeforeUnload = window.onbeforeunload;
window.onbeforeunload = function() {
// attempt to handle a previous onbeforeunload
if ('function' === typeof oldOnBeforeUnload) {
var message = oldOnBeforeUnload();
if ('undefined' !== typeof message) {
if (confirm('string' === typeof message ? message : 'Are you sure you want to leave this page?')) {
return; // allow user to exit without further annoying pop-ups
}
}
}
// handle our own
if (userIsEditingSomething) {
return 'Are you sure you want to exit?';
}
};
</script>
VEYA kullanıcı ne zaman olursa olsun sayfadan çıktığında tetiklenir. Sadece tarayıcıyı kapatırken değil – mplungjan
Haklısınız. Muhtemelen bu sorun için güzel temsiller olsa da (jquery vb), yıllar önce pencereyi kapama düğmesine basan biri arasında ayrım yapmak için "(event.clientX <0 || event.clientY <0)" koşulunu test ediyordum (durum doğrudur) ve normal gezinme eylemleri (bir bağlantıyı izleyin, bir form gönderin, geri, ileriye doğru). Bu, başarısızlığa neden olmayan bir çözüm değildir (örneğin, ALT-F4 yakalanmadı), bu yüzden birileri size daha iyi bir çözüm sunabilir. – ivy
- 1. İletişim Kutusunu Doğrulama
- 2. İlerleme İletişim Kutusunu Reddetme
- 3. jquery ui iletişim kutusunu kapatın
- 4. Öncelikli yükleme iletişim kutusunu özelleştirin
- 5. bootstrap-modal iletişim kutusunu göstermiyor
- 6. Kodumdaki yazdırma iletişim kutusunu uygulayın
- 7. İletişim İletişim kutusunun üst tarafındaki iletişim kutusunu göster
- 8. Listede bir uyarı iletişim kutusunu kapatabilir miyim?
- 9. Arka plana tıklayarak html iletişim kutusunu kapatma
- 10. Ana pencerede jquery iletişim kutusunu görüntüleme
- 11. Krom uzantısında uyarı iletişim kutusunu göster
- 12. Test jquery iletişim kutusunu nasıl görüntüleyebilirim?
- 13. webview üzerinde ilerleme iletişim kutusunu göster
- 14. Ekranın ortasındaki iletişim kutusunu açın, pencereler
- 15. API 23'te İletişim Kutusunu kapatırken DeadObjectException
- 16. CKEditor'daki Görüntü Özellikleri iletişim kutusunu nasıl yapılandırabilirim?
- 17. Android Bluetooth Eşleşen İletişim Kutusunu Gösteriyor
- 18. Jquery iletişim kutusunu x saniye sonra yok
- 19. Wireshark: İstemci-sunucu iletişim kutusunu boşalt
- 20. Jhipster: devre dışı bırak iletişim kutusunu kapatın
- 21. js'yi değiştirin twitter bootstrap modeline onaylayın
- 22. Tarayıcıyı ayrıntılarıyla doldurarak tarayıcıyı durdurun
- 23. jQuery onaylama iletişimini onaylayın - onaylanana kadar bekleyin
- 24. RSpec ve Capybara ile kalıcı bir iletişim kutusunu sınama
- 25. Yazıcı seçeneklerini el ile ayarlamak için iletişim kutusunu nasıl çağırırım?
- 26. Tüm sayfa yüklenmeden önce jquery iletişim kutusunu nasıl görüntülerim?
- 27. Bir jquery modal iletişim kutusunu kapatma ve üst sayfayı yenileme
- 28. Windows'da bir dosya için Explorer'ın özellikler iletişim kutusunu gösterme
- 29. jQuery iletişim kutusunu bir (Google) harita üzerinde nasıl konumlandırabilirim?
- 30. Parçada geri alınamaz iletişim kutusunu kapat backPress - Android
Ve sen, mesela onay iletişim kutusunu bastırmak istesin, geri arama gelen 'undefined' dönebilirsiniz kullanıcının bir şey yazmaya veya düzenlemeye başlamadığını doğruladıktan sonra. Ancak, 'null' veya 'false 'döndürürseniz, IE, * null * veya * false *, garip bir şekilde istiyorsanız, kabaca size soran bir ileti gösterir. – KajMagnus
sayfadaki kalış butonuna tıklayarak herhangi bir kodu çalıştırabilir miyim? –