Incluí este archivo javascript en mi página web php. Utilizo una declaración if para ver si el valor de tried_or_not2 es yes . Aquí está el código.
let tried_or_not2 = localStorage.getItem('tried_or_not2'); form_for_login.style['visibility'] = 'visible'; console.log('test1', localStorage.getItem('tried_or_not2')); if (tried_or_not2 !== 'yes') { console.log('test2'); localStorage.setItem('tried_or_not2', 'yes'); invitation_code.value = localStorage.getItem('invitation_code'); password.value = localStorage.getItem('password'); console.log('test3'); form_for_login.submit(); console.log('test4'); } console.log('test5');Aquí está el resultado.
https://i.stack.imgur.com/SxfB4.png
Podemos ver test1 , yes , test5 en la consola. Pero cuando comento la linea
localStorage.setItem('tried_or_not2', 'yes'); el valor de tried_or_not2 se convierte en null . Eso significa que el valor de tried_or_not2 se crea en esa línea, ¿verdad? Pero, ¿por qué imprime yes al principio? ¡Muchos gracias!
A menos que esté borrando el almacenamiento local antes de volver a cargar, los valores anteriores persistirán. Lo que significa que incluso si no establece el valor ahora, el valor que estableció anteriormente seguirá estando disponible. Si desea que los valores se borren después de cerrar la pestaña, use sessionStorage en su lugar. O simplemente borre el valor después de que se cargue la página.