usuario187580
Con onclick="history.go(-1);return false;"
el usuario puede navegar a las páginas anteriores. Pero si quiero poner un método de confirmación antes de que lleve al usuario a la parte de atrás. ¿Como podría hacerlo?
Creo que se puede lograr haciendo algo como a continuación, pero no estoy seguro de cómo redirigir al usuario a la página de atrás.
$('.clickme').click(function() {
if(confirm("Are you sure you want to navigate away from this page?"))
{
//window.close();
// how to redirect to history.go(-1) ??
}
return false;
});
ACTUALIZAR
Además, ¿hay alguna forma de verificar si el historial tiene algunos valores o está vacío? ¿Para que pueda alertar al usuario si está vacío?
Es tan simple como crees que es:
$('.clickme').click(function() {
if(confirm("Are you sure you want to navigate away from this page?"))
{
history.go(-1);
}
return false;
});
-
¿Hay alguna forma de comprobar si hay “algo” en el historial… es decir, no está vacío, etc.?
– usuario187580
24 de febrero de 2010 a las 14:06
-
Existe una propiedad history.previous pero como lo dice JSRef requiere el privilegio UniversalBrowserRead. No tiene valor si no tienes este privilegio. Para obtener información sobre seguridad, consulte la Guía de JavaScript del lado del cliente.
– anddoutoi
24 de febrero de 2010 a las 14:20
-
si, puedes comprobar
history.length
.onclick="if(history.length == 0) { alert("there's nowhere to go!"); } else { if(confirm('are you sure?')) { history.go(-1); } }"
– David Hedlund
24 de febrero de 2010 a las 14:21
Prueba esto:
if(confirm("Are you sure you want to navigate away from this page?"))
{
history.back();
}
-
se puede poner onclick=”return confirm(‘confirm message’)”;??
– usuario187580
24 de febrero de 2010 a las 14:08
$('.clickme').click(function() {
if(history.length != 0)
{
if(confirm("Are you sure you want to navigate away from this page?"))
{
history.go(-1);
}
return false;
}
alert("No history found");
return false;
});
usuario7868
$('.clickme').click(function() {
if(history.length != 0)
{
if(confirm("Are you sure you want to navigate away from this page?"))
{
document.location.replace(document.referrer)
}
return false;
}
alert("No history found");
return false;
});
(Este código se basa en gran medida en la respuesta de Dodswarm).
Santosh Kundkar
<script type="text/javascript" language="javascript">
function goBack()
{
window.history.back()
}
window.onkeyup = function (e)
{
if (e.keyCode == 27) window.history.back();
}
</script>
Agregue el código anterior en la sección de encabezado de la página. Aquí cada vez que el usuario presiona Esc luego será redirigido a la página de vista anterior y si queremos agregar esta lógica en el botón Atrás, presione y luego simplemente llame goback()
en el evento de clic.