wake-up-neo.com

Hier erfahren Sie, ob in Firefox auf die Schaltfläche "Aktualisieren" oder "Zurück" des Browsers geklickt wird

In Firefox wissen, ob auf die Schaltfläche "Aktualisieren" oder auf die Schaltfläche "Zurück" des Browsers geklickt wird ... für beide Ereignisse onbeforeunload() Methode ist ein Rückruf. Für IE Ich behandle wie folgt:

function CallbackFunction(event) {
    if (window.event) {
        if (window.event.clientX < 40 && window.event.clientY < 0) {
            alert("back button is clicked");
        }else{
            alert("refresh button is clicked");
        }
    }else{
        // want some condition here so that I can differentiate between
        // whether refresh button is clicked or back button is clicked.
    }
}

<body onbeforeunload="CallbackFunction();"> 

Aber in Firefox sind event.clientX und event.clientY immer 0. Gibt es eine andere Möglichkeit, es zu finden?

47
Coding

Verwenden Sie diese Option für ein Aktualisierungsereignis

window.onbeforeunload = function(e) {
  return 'Dialog text here.';
};

https://developer.mozilla.org/en-US/docs/Web/API/window.onbeforeunload?redirectlocale=en-US&redirectslug=DOM%2Fwindow.onbeforeunload

Und

$(window).unload(function() {
      alert('Handler for .unload() called.');
});
53
Er.KT

Verwenden Sie 'event.currentTarget.performance.navigation.type', um die Art der Navigation zu bestimmen. Dies funktioniert in IE, FF und Chrome.

function CallbackFunction(event) {
    if(window.event) {
        if (window.event.clientX < 40 && window.event.clientY < 0) {
            alert("back button is clicked");
        }else{
            alert("refresh button is clicked");
        }
    }else{
        if (event.currentTarget.performance.navigation.type == 2) {
            alert("back button is clicked");
        }
        if (event.currentTarget.performance.navigation.type == 1) {
            alert("refresh button is clicked");
        }           
    }
}
11
Vipin Malik

Für den Zurück-Button in jquery // http://code.jquery.com/jquery-latest.js

 jQuery(window).bind("unload", function() { //

und in html5 gibt es ein event Das event heißt 'popstate'

window.onpopstate = function(event) {
alert("location: " + document.location + ", state: " + JSON.stringify(event.state));
};

und zum Aktualisieren bitte überprüfen Überprüfen Sie, ob die Seite neu geladen oder in Javascript aktualisiert wird

In Mozilla befindet sich Client-x und Client-y im Dokumentbereich https://developer.mozilla.org/en-US/docs/Web/API/event.clientX

5
developerCK