una - refrescar pagina javascript cada cierto tiempo
Verifique si la página se recarga o actualiza en Javascript (7)
Quiero verificar cuando alguien intenta actualizar una página.
Por ejemplo, cuando abro una página no sucede nada, pero cuando actualizo la página devuelve una alerta.
Almacene una cookie la primera vez que alguien visita la página. Al actualizar, compruebe si su cookie existe y, si lo hace, alerta.
function checkFirstVisit() {
if(document.cookie.indexOf(''mycookie'')==-1) {
// cookie doesn''t exist, create it now
document.cookie = ''mycookie=1'';
}
else {
// not first visit, so alert
alert(''You refreshed!'');
}
}
y en tu etiqueta corporal:
<body onload="checkFirstVisit()">
El primer paso es verificar sessionStorage
por algún valor predefinido y si existe un usuario de alerta:
if (sessionStorage.getItem("is_reloaded")) alert(''Reloaded!'');
El segundo paso es establecer sessionStorage
en algún valor (por ejemplo, true
):
sessionStorage.setItem("is_reloaded", true);
Los valores de sesión se conservan hasta que la página se cierra, por lo que solo funcionarán si la página se vuelve a cargar en una nueva pestaña del sitio. También puede mantener el recuento de recarga de la misma manera.
Encontré algo de información aquí Javascript Detecting Page Refresh . Su primera recomendación es usar campos ocultos, que tienden a almacenarse a través de actualizaciones de página.
function checkRefresh() {
if (document.refreshForm.visited.value == "") {
// This is a fresh page load
document.refreshForm.visited.value = "1";
// You may want to add code here special for
// fresh page loads
} else {
// This is a page refresh
// Insert code here representing what to do on
// a refresh
}
}
<html>
<body onLoad="JavaScript:checkRefresh();">
<form name="refreshForm">
<input type="hidden" name="visited" value="" />
</form>
</body>
</html>
Encontré algo de información aquí Javascript Detecting Page Refresh
function UnLoadWindow() {
return ''We strongly recommends NOT closing this window yet.''
}
window.onbeforeunload = UnLoadWindow;
Si
event.currentTarget.performance.navigation.type
devoluciones
0 => usuario que acaba de escribir en una URL
1 => página recargada
2 => botón de clic presionado.
Si también desea detectar si el usuario hace clic en la X en la esquina superior derecha del navegador:
function handleWindowClose()
{
if((window.event.clientX<0) || (window.event.clientY<0))
{
event.returnValue = "If you have made any changes to the fields without clicking the Save button, your changes will be lost.";
}
}
Una mejor forma de saber que la página en realidad se recarga es usar el navegador que es compatible con la mayoría de los navegadores modernos.
Utiliza la API de sincronización de navegación .
//check for Navigation Timing API support
if (window.performance) {
console.info("window.performance works fine on this browser");
}
if (performance.navigation.type == 1) {
console.info( "This page is reloaded" );
} else {
console.info( "This page is not reloaded");
}
fuente: https://developer.mozilla.org/en-US/docs/Web/API/Navigation_timing_API