esta es una pregunta bastante simple en teoría, pero parece que no puedo encontrar una respuesta: ¿existe un evento para cuando un usuario accede por primera vez a un sitio web? algo así como onload , pero para todo el sitio web, no para una sola página.
básicamente estoy escribiendo un sitio web en Python Flask con Jinja. parte del sitio web recupera información de wikipedia, lo que ralentiza mucho el sitio web. así que agregué un interruptor para activar/desactivar el bit de wikipedia.
sin embargo, parece que no puedo encontrar una forma coherente de definir un valor predeterminado para el botón (al acceder al sitio web, se activan las mejoras de wikipedia) y al mismo tiempo mantener el valor del botón al navegar por el sitio web (el valor del botón no cambia a menos que usted lo indique).
todo lo demás funciona bien: activar y desactivar las mejoras de wikipedia ... estoy usando Flask y Jinja, así que si tienes una idea para usar eso, ¡está bien!
aquí está el botón html:
<label class="toggle" id="wikitoggle"> <input type="checkbox" value="active"/> <span class="slider"/> <span class="labels">Wikipedia</span> </label>y aquí está el javascript:
var wiki = document.querySelector("#wikitoggle input"); function wikiToggle() { if (wiki.getAttribute("value") === "inactive") { wiki.setAttribute("value", "active"); } else { wiki.setAttribute("value", "inactive"); }; var data = {"wikistatus": wiki.getAttribute("value")}; $.ajax({ type: "GET", url: "/wikistatus", data: data, dataType: 'json', }); };Básicamente establezco el valor de un atributo y lanzo una solicitud asincrónica a una ruta de matraz.
Gracias !
Podrías usar window.localStorage . Primero busque un artículo en localStorage; si no existe, el usuario está visitando por primera vez. Después de eso, configure el elemento dentro de localStorage. La próxima vez que un usuario visite el sitio, localStorage tendrá ese elemento configurado. Por ejemplo:
const visited = window.localStorage.getItem('visited') !== null; if (!visited) { // some code to run on first visit } window.localStorage.setItem('visited', true);