Visualizzazione dei risultati da 1 a 4 su 4
  1. #1
    Utente di HTML.it
    Registrato dal
    Feb 2005
    Messaggi
    147

    Velocizzare la comparsa di un banner

    Scusate la mia assoluta ignoranza sull'argomento.

    Gestisco questo piccolo e vecchio sito in HTML: http://www.istitutostoriaecclesiasti...net/index.html, dove ho aggiunto un banner per i cookie trovato in rete e adattato.
    Siccome la sua comparsa avviene con un certo ritardo - uno fa a tempo a cambiare pagina - volevo sapere se si può velocizzare, tipo quello che ho messo in un altro sito: https://www.gmpe.it/

    Lo script è:
    let popUp = document.getElementById("cookiePopup");
    //When user clicks the accept button
    document.getElementById("acceptCookie").addEventLi stener("click", () => {
    //Create date object
    let d = new Date();
    //Increment the current time by 1 minute (cookie will expire after 1 minute)
    d.setMinutes(2 + d.getMinutes());
    //Create Cookie withname = myCookieName, value = thisIsMyCookie and expiry time=1 minute
    document.cookie = "myCookieName=thisIsMyCookie; expires = " + d + ";";
    //Hide the popup
    popUp.classList.add("hide");
    popUp.classList.remove("show");
    });
    //Check if cookie is already present
    const checkCookie = () => {
    //Read the cookie and split on "="
    let input = document.cookie.split("=");
    //Check for our cookie
    if (input[0] == "myCookieName") {
    //Hide the popup
    popUp.classList.add("hide");
    popUp.classList.remove("show");
    } else {
    //Show the popup
    popUp.classList.add("show");
    popUp.classList.remove("hide");
    }
    };
    //Check if cookie exists when page loads
    window.onload = () => {
    setTimeout(() => {
    checkCookie();
    }, 2000);
    };
    ciao e grazie

  2. #2
    Moderatore di CSS L'avatar di KillerWorm
    Registrato dal
    Apr 2004
    Messaggi
    5,771
    Ciao, prendi l'ultima parte:
    codice:
    //Check if cookie exists when page loads
    window.onload = () => {
      setTimeout(() => {
        checkCookie();
      }, 2000);
    };
    Qui viene richiamata la funzione checkCookie(). Il ritardo viene dato dal tempo di 2000 millisecondi (cioè 2 secondi) impostato per il setTimeout().

    Il setTimeout non è altro che una funzione "timer" che serve appunto per eseguire una data funzione dopo un certo tempo.

    Inoltre, il timer viene eseguito all'interno dell'evento window.onload , cioè dopo che è terminato il caricamento dell'intera pagina, comprese immagini e altri contenuti.

    Se vuoi far apparire quel banner istantaneamente, all'apertura della pagina, puoi richiamare semplicemente la funzione checkCookie() senza specificare ne il setTimeout ne l'evento onload.

    Teoricamente potresti quindi rimuovere quell'ultima parte e sostituirla alla semplice chiamata della funzione:
    codice:
    //Check if cookie exists when page loads
    checkCookie();
    Prova e fai sapere
    Installa Forum HTML.it Toolset per una fruizione ottimale del Forum

  3. #3
    Utente di HTML.it
    Registrato dal
    Feb 2005
    Messaggi
    147
    Grazie infinite per la risposta precisa ed esauriente.
    Ho messo 500 e ora funziona perfettamente.

    Ciao e grazie ancora

  4. #4
    Moderatore di CSS L'avatar di KillerWorm
    Registrato dal
    Apr 2004
    Messaggi
    5,771
    Quote Originariamente inviata da bgiordy
    Ho messo 500 e ora funziona perfettamente.

    Ciao e grazie ancora
    Benissimo!
    Buon proseguimento
    Installa Forum HTML.it Toolset per una fruizione ottimale del Forum

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.