javascript - quantum - Cómo saber si se hace clic en el botón Actualizar o el botón Atrás del navegador en Firefox
desactivar javascript chrome (4)
Esta pregunta ya tiene una respuesta aquí:
Cómo saber en Firefox si se hace clic en el botón Actualizar o se hace clic en el botón Atrás del navegador ... para ambos eventos el método onbeforeunload () es una devolución de llamada. Para IE, estoy manejando así:
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();">
Pero en Firefox event.clientX y event.clientY siempre son 0. ¿Hay alguna otra forma de encontrarlo?
Úselo para el evento de actualización
window.onbeforeunload = function(e) {
return ''Dialog text here.'';
};
Y
$(window).unload(function() {
alert(''Handler for .unload() called.'');
});
Para el botón Atrás en jquery // http://code.jquery.com/jquery-latest.js
jQuery(window).bind("unload", function() { //
y en html5 hay un evento El evento se llama ''popstate''
window.onpopstate = function(event) {
alert("location: " + document.location + ", state: " + JSON.stringify(event.state));
};
y para actualizar, compruebe si la página se vuelve a cargar o se actualiza en JavaScript
En Mozilla Client-x y client-y se encuentra dentro del área del documento https://developer.mozilla.org/en-US/docs/Web/API/event.clientX
Use ''event.currentTarget.performance.navigation.type'' para determinar el tipo de navegación. Esto funciona en IE, FF y 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");
}
}
}
var keyCode = evt.keyCode;
if (keyCode==8)
alert(''you pressed backspace'');
if(keyCode==116)
alert(''you pressed f5 to reload page'')