WARNUNGSPOPPEN Wenn Sie die Seite neu laden/in iOS Safari/Chrome -Browser neu laden/aktualisierenPhp

PHP-Programmierer chatten hier
Anonymous
 WARNUNGSPOPPEN Wenn Sie die Seite neu laden/in iOS Safari/Chrome -Browser neu laden/aktualisieren

Post by Anonymous »

Code: Select all

window.addEventListener('beforeunload', function (e) {
const thankYouVisible = document.querySelector('.thank-you')?.offsetParent !== null;
if (!thankYouVisible) {
const confirmationMessage = "Are you sure you want to leave this page? Your
progress may be lost.";
e.preventDefault();
e.returnValue = confirmationMessage;
return confirmationMessage;
}
});
Der obere Code arbeitet Code für Desktop
Jetzt ist unter dem Code für iOS safari/crome
Ausgabe ist der erste Code für Desktop für Desktop, aber jetzt Fall von iOS/Android.

Code: Select all

  window.addEventListener('pagehide', () => {
const thankYouVisible = document.querySelector('.thank-you')?.offsetParent !== null;
if (!thankYouVisible) {
localStorage.setItem('triedToLeave', '1');
}
});

window.addEventListener('DOMContentLoaded', () => {
if (localStorage.getItem('triedToLeave') === '1') {
localStorage.removeItem('triedToLeave');
const shouldRefresh = confirm('It looks like you tried to leave the page. Do you want to refresh?');

if (shouldRefresh) {
location.reload(); // Refresh only if user clicks "OK"
}
}
});
Jetzt funktioniert der Code - das Warnpopup erscheint mit Ja/Nein -Optionen. Die Seite wird jedoch aktualisiert, bevor das Popup angezeigt wird. Wenn ich also auf Nein klicke, funktioniert sie nicht, da die Seite bereits neu geladen wurde. Wenn der Benutzer versucht, die Seite in der Mitte des Quiz neu zu laden, erscheint ein Warnpopup mit der Aufschrift: „Sind Sie sicher, dass Sie die Seite neu laden möchten? Ihre Daten können verloren gehen.“ Dies funktioniert gut für Desktop -Browser, funktioniert jedoch nicht auf iPhone in Chrome oder Safari.

Quick Reply

Change Text Case: 
   
  • Similar Topics
    Replies
    Views
    Last post