Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 11
  1. #1

    Script che interrompe il caricamento pagina

    Ciao a tutti
    Mi spiego meglio perché il titolo forse non è abbastanza esaustivo!
    Nelle pagine del sito ho inserito uno script per il banner al consenso dei cookie.
    Però questo banner si apre quando la pagina è già caricata tutta, io vorrei che si caricasse solo quando l'utente ha chiuso il banner e accettato, ma non so cosa aggiungere al mio script.

    Cosa potete consigliarmi?

    Grazie
    “Che le cose siano cosi, non vuol dire che debbano andare così. Solo che quando si tratta di rimboccarsi le maniche e incominciare a cambiare, vi è un prezzo da pagare. Ed è allora che la stragrande maggioranza preferisce lamentarsi più che fare”.

    Giovanni Falcone

  2. #2
    Moderatore di Annunci siti web, Offro lavoro/collaborazione, Cerco lavoro L'avatar di cavicchiandrea
    Registrato dal
    Aug 2001
    Messaggi
    26,133
    L'operazione più semplice e mettere un owerlay tra la pagina è il banner dei cookie che copra, una volta accettati i cookie nascondi tutto
    Cavicchi Andrea
    Problemi con javascript, jquery, ajax clicca qui

  3. #3
    Quote Originariamente inviata da cavicchiandrea Visualizza il messaggio
    L'operazione più semplice e mettere un owerlay tra la pagina è il banner dei cookie che copra, una volta accettati i cookie nascondi tutto
    Ciao
    Mi suggerisci di inserire un overlay in tutte le pagine? Anche facendo questa cosa il contenuto della pagina si caricherebbe lo stesso?
    Il mio scopo è quello che la pagina non invii cookies prima che venga fatta l'accettazione, se la pagina si carica insieme all'overlay i cookies sono già stati inviati prima che venga accettato
    “Che le cose siano cosi, non vuol dire che debbano andare così. Solo che quando si tratta di rimboccarsi le maniche e incominciare a cambiare, vi è un prezzo da pagare. Ed è allora che la stragrande maggioranza preferisce lamentarsi più che fare”.

    Giovanni Falcone

  4. #4
    Moderatore di Annunci siti web, Offro lavoro/collaborazione, Cerco lavoro L'avatar di cavicchiandrea
    Registrato dal
    Aug 2001
    Messaggi
    26,133
    Reindirizza ad una pagina con solo la privacy
    Cavicchi Andrea
    Problemi con javascript, jquery, ajax clicca qui

  5. #5
    No così non può funzionare perchè visto che il banner vuole messo in ogni pagina il sito non si vedrebbe più! Ogni volta che si accede a una pagina del sito si verrebbe reinderizzati. Ci vorrebbe una funzione da integrare nello script del banner che impedisca il varicamento della pagina
    “Che le cose siano cosi, non vuol dire che debbano andare così. Solo che quando si tratta di rimboccarsi le maniche e incominciare a cambiare, vi è un prezzo da pagare. Ed è allora che la stragrande maggioranza preferisce lamentarsi più che fare”.

    Giovanni Falcone

  6. #6
    Moderatore di Annunci siti web, Offro lavoro/collaborazione, Cerco lavoro L'avatar di cavicchiandrea
    Registrato dal
    Aug 2001
    Messaggi
    26,133
    Non mi risulta possibile, tornando alla prima ipotesi perché non vuoi coprire la pagina?
    Cavicchi Andrea
    Problemi con javascript, jquery, ajax clicca qui

  7. #7
    Quote Originariamente inviata da cavicchiandrea Visualizza il messaggio
    Non mi risulta possibile, tornando alla prima ipotesi perché non vuoi coprire la pagina?
    Percjè non è quello che mi interessa! Non ho nulla in contrario a coprire la pagina anzi! Ma non risolve il problema perchè sotto la copertura la pagina con i suoi script e cookie si carica ugualmente.
    Se la copertura fermasse l'installazione dei cookies prima dell'accettazione andrebbe benissimo
    “Che le cose siano cosi, non vuol dire che debbano andare così. Solo che quando si tratta di rimboccarsi le maniche e incominciare a cambiare, vi è un prezzo da pagare. Ed è allora che la stragrande maggioranza preferisce lamentarsi più che fare”.

    Giovanni Falcone

  8. #8
    Moderatore di CSS L'avatar di KillerWorm
    Registrato dal
    Apr 2004
    Messaggi
    5,771
    Ciao, personalmente non mi sono mai interessato a questa roba dei cookie (inutile dire che è una legge altamente idiota che fa venir la nausea) però giusto per ghiribizzo ho provato a pensare, in modo tecnico, a qualche idea riguardo la tua esigenza.

    Soluzione 1
    Teoricamente basterebbe un confirm() all'inizio dell'head in modo da mantenere in "standby" il caricamento del resto della pagina, dal punto in cui viene lanciata la finestrella modale fino a quando non si preme "OK" o "Annulla". A quel punto sarà possibile operare di conseguenza in base alla risposta dell'utente.
    Di contro c'è il fatto che la finestra non si presta a troppe personalizzazioni e non si tratta di un banner; da perfetto ignorante non so cosa prevedono i dettagli di legge e se possa essere una soluzione accettabile.
    L'ideale sarebbe se esistesse una funzione standby() che interrompa momentaneamente il caricamento della pagina, proprio come fa la finestrella modale, ma senza finestrella modale. Non credo esista.
    codice:
    var confermacookie = confirm('Questo sito fa uso di cookie.\nPremendo "OK" si da conferma di voler proseguire con la navigazione di questa pagina.\nPremendo "Anulla" si verrà buttati fuori.');
    if (!confermacookie) location.href = 'perchènonhaiaccettato.html';
    Soluzione 2
    Esiste il metodo window.stop() che, esattamente, interrompe il caricamento della pagina, proprio come quando si preme la [X] visibile a fianco alla barra degli indirizzi, quando si sta caricando la pagina. Subito dopo la visualizzazione del banner potrebbe essere lanciato lo stop, fino a quando l'utente non da una risposta.
    Da tener conto che IE non supporta questo metodo, per cui bisogna usare un ulteriore accorgimento.
    Una roba del genere:
    codice:
    if (document.documentMode) document.execCommand("Stop"); // per IE
    else window.stop(); // per il resto del mondo
    Peccato che non esista una funzione continue() che riprenda il caricamento da dove era stato interrotto. In tal caso, se l'utente dà conferma, si dovrebbe salvare un qualche cookie o una variabile localStorage per poi ricaricare interamente la pagina e saltare quindi il controllo col banner, già confermato.

    Soluzione 3
    Qui mi sono sforzato parecchio, in giro ho visto qualcosa del genere ma non relativamente al discorso dei cookie.
    L'idea è quella di commentare le parti (all'interno della pagina HTML) che si vuole mantenere inattive finché non si dà la conferma.
    Sostanzialmente si tratta di un semplice commento HTML, per cui non viene eseguito al caricamento della pagina, ma sarà poi "decommentato" attraverso JavaScript. In teoria si potrebbe commentare l'intero contenuto del body o dell'head o di tutto il tag html ma per mantenere comunque valida la pagina (nonostante i commenti) e perché la pagina stessa sia indicizzabile, sarà possibile commentare opportunamente giusto le parti che gestiscono i cookie. Ora non ho idea di quale sia esattamente la tua situazione, ma ti posto un esempio per capire se può essere un'idea valida.
    Ho usato jQuery per pigrizia ma, volendo, sono sicuro che si può fare anche con Vanilla JavaScript senza troppi problemi.
    codice:
    <!DOCTYPE HTML>
    <html>
      <head>
        <title>Esempio</title>
        <meta charset="utf-8">
        <script src="http://code.jquery.com/jquery-latest.min.js"></script>
        <script type="text/javascript">
          $(function(){
            $("#confermo").click(function(){
              $(this).remove();
              $('head,body').each(function(){
                $(this).html($(this).html().replace(/<!--RICHIESTA_CONFERMA([\s\S]*?)-->/g,"$1"));
              })
            })
          })
       </script>
       <!--RICHIESTA_CONFERMA
        <style type="text/css">
          /* Questo CSS è attivo solo dopo che hai confermato */
          body{background:tan}
        </style>
        -->
      </head>
      <body>
        <input id="confermo" type="button" title="NON ACCETTARE I BISCOTTI DAGLI SCONOSCIUTI!!!" value="Accetti i biscotti?">
        <p>Qui puoi mettere della roba che vuoi rendere già visibile.</p>
        
        <!-- Questo è un normale commento che non sarà decommentato
          mentre quello sotto sarà decommentato dopo la conferma
        -->
    
        <!--RICHIESTA_CONFERMA
        <p><b>Questa roba è attiva solo dopo che hai confermato</b></p>
        -->
        
      </body>
    </html>
    Non ho fatto troppi test.

    Ribadisco che sono giusto delle idee.
    Ultima modifica di KillerWorm; 24-09-2015 a 16:58
    Installa Forum HTML.it Toolset per una fruizione ottimale del Forum

  9. #9
    Per il momento grazie provo le tue idee e se ho risultati condivido qui
    Ciao
    “Che le cose siano cosi, non vuol dire che debbano andare così. Solo che quando si tratta di rimboccarsi le maniche e incominciare a cambiare, vi è un prezzo da pagare. Ed è allora che la stragrande maggioranza preferisce lamentarsi più che fare”.

    Giovanni Falcone

  10. #10
    Grazie dei preziosi consigli!
    Problema spero risolto (dovrò testarlo bene), mettendo all'inizio dell'head uno script che controlla se è presente un cookie, se non è presente mi manda alla pagina della conferma, se è presente continua normalmente
    “Che le cose siano cosi, non vuol dire che debbano andare così. Solo che quando si tratta di rimboccarsi le maniche e incominciare a cambiare, vi è un prezzo da pagare. Ed è allora che la stragrande maggioranza preferisce lamentarsi più che fare”.

    Giovanni Falcone

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.