Quiero restringir la actualización de la página solo cuando hagamos esto haciendo clic en el icono de actualización en la parte superior izquierda del navegador.
He probado más opciones disponibles como,
evento 'beforeunload' , que puede activarse cada vez que se descarga (actualizar, navegar, cerrar) el navegador. Dentro del evento, probé 'window.performance.navigation.type' y window. performance.getEntrieaByType('navigation').map(nav=>nav.type) opciones window. performance.getEntrieaByType('navigation').map(nav=>nav.type) . Pero ambos no están dando el resultado correcto. En cada acción como "actualizar", "navegación" y "cerrar" se obtiene el mismo resultado. También a veces obteniendo resultados diferentes. Así que no confío en las opciones.
Entonces, ¿alguien puede ayudarme a obtener la opción correcta para detectar la acción de actualización realizada por el ícono de actualización del navegador?
Estoy usando la aplicación reaccionar.
window.onbeforeunload = ()=>{ localStorage.setItem("unload",Date.now()); } useEffect(){ let last_unload = localStorage.getItem('unload'); let decided_time = 1000; if(last_unload){ // means the user have closed the page if(Date.now() - parseInt(last_unload,10) <= 1000) { // this is a refresh console.log('refresh handling code') }else{ // It's a new session, means user came to page, closed the browser, now came back after a long time } } }Generalmente la respuesta de aquí
debería funcionar, pero debido a que está afirmando que window.performance es ambiguo en su caso, intente algo como esto. ¡Déjeme saber si esto ayuda!