Richiesta età
Autor: Stefano P.
Visitado 1721,
Followers 4,
Compartido 0
Salve a tutti. Dovrei inserire sulla home di un sito un banner con la richiesta età, in pratica o una dichiarazione tipo: "dichiaro di essere maggiorenne" e la scelta SI o NO... naturalmente scegliendo SI si va alla home, scegliendo NO non si entra. Altra alternativa l'inserimento della data di nascita che in automatico calcola se si è o meno maggiorenni (ma questo mi sembra più complicato).
Avete consigli al riguado su come fare ?
Grazie in ancipo per le risposte.
Publicado en
mahh!! forse lo puoi fare anche con la pagina di ingresso con le due scelte... una linca al sito e l'altra ad una pagina con le info se minorenne e se dichiara il contrario
... qui si trova un mio vecchissimo codice, liberamente personalizzabile nelle azioni al proprio caso:
https://helpcenter.websitex5.com/es/post/223954
.
Autor
Grazie per le risposte:
Questo il codice che ho trovato e che sto provando a modificare:
<style> #imPage {display:none}</style><script>function scelta(){ if( confirm(" ...!... ATTENZIONE ...!... \n\n Per accedere al nostro sito devi essere maggiorenne \n\n Premi se hai almeno 18 anni o ANNULLA per uscire ")==true){document.getElementById("imPage").style.display = "block";} else { window.location.href="https:\\www.sosmozzate.it";}}window.onload=function(){ scelta() }</script>
Volevo sostituire OK e CANCEL con altre parole. E' possibile ?
Altra cosa: Blocca solo la home o tutte le pagine ?
... è proprio il mio che ti ho indicato prima...
... il testo compreso tra i doppi apici (") lo puoi personalizzare a piacere con il tuo testo:
" ...!... ATTENZIONE ...!... \n\n Per accedere al nostro sito devi essere maggiorenne \n\n Premi se hai almeno 18 anni o ANNULLA per uscire "
... per esempio:
" clicca OK solo se sei maggiorenne! "
.
Autor
Scusa KolAsim ma sono un pò in confusione. I due bottoncini OK e CANCEL si possono modificare ?
Anche la grandezza se possibile.
... no! ... non è possibile; ...è puro JS interpretato dal browser...
.
Autor
Grazie a tutti per le risposte. Avete altri consigli o "tattiche" ?
... non servirebbe, ma mi viene in mente il mio solito e noto DIV_CUSTOM in cui incorporare controlli personalizzati da programmare con azioni simili al precedente JS, ...che comunque è già molto valido così come si presenta adesso e che dovrebbe essere sempre attivo in tutte le pagine, se fossero più di una, ...per non complicare e ricorrere ai cookies...
... puoi anche realizzare pagine riservate con le opzioni previste dal programma...
.
Autor
Salve a tutti. Sto impazzendo con il codice per bloccare il sito. Se utilizzo quello sopra, una volta fatta la scelta, mi lascia dello spazio bianco sulla home.
Autor
In paratica mi servirebbe un pop-up che mi dice"PER ACEDDERE AL SITO DEVI ESSERE MAGGIORENNE" SI=accesso alla home NO= uscita. Non ci riesco proprio.
... potrebbe dipendere o da errori o dalla struttura della pagina; ...per poter valutare occorre il LINK di un esempio qualsiasi online...
.
ciao
.
Sei un po pratico di codice?
Puoi usare le popup modals di Bootstrrap.
Puoi personalizzarle come vuoi ... https://www.w3schools.com/bootstrap4/tryit.asp?filename=trybs_ref_js_modal_backdrop&stacked=h
Autor
@Giorgio C: Ti ringrazio per il link, ma non sono pratico e non soprai come inserirlo e/o modificarlo.
@KolAsim : Ho inserito il codice che avevi inviato, ma una volta inserito mi blocca l'accesso (come è giusto che sia) ma mi lascia uno spazio bianco abbastanza grande sulla home. Non ho il link per mostrtelo.
Autor
La prima schermata è quella di blocco (sembra ok). Una volta premuto il tasto OK mi appare la home tagliata.
Autor
lo inserisco così.
Autor
Risolto problema spazio bianco (ho cambiato l'altezza minima nella struttura del modello)
Autor
Quindi (ringrazio ancora tutti per i cortesi interventi) se ho capito bene questo codice non può essere modificato a piacimento ma solo nella parte in grassetto. Mi confermate questo? Altra cosa: blocca tutte le pagine quindi basta riportarlo sulla home ?
<style> #imPage {display:none}</style><script>function scelta(){ if( confirm(" ...!... ATTENZIONE ...!... \n\n Per accedere devi essere maggiorenne. OK=SI | CANCEL=NO \n\n Premi se hai almeno 18 anni o ANNULLA per uscire ")==true){document.getElementById("imPage").style.display = "block";} else { window.location.href="";}}window.onload=function(){ scelta() }</script>
... come detto nel post #8 secondo me andrebbe in tutte le pagine per maggior sicurezza rispetto a chi possa accedere...
... quello che puoi modificare è il testo compreso tra parentesi e doppi apici ("*******"), e l'azione da eseguire al NO...
...!... senza link non si può verificare...!... ... ... potrestii pubblicare pagine di esempio semplici senza contenuti impropri, ...per provare sin quando non ne sei convinto...
... alla sua origine il codice fu fatto per non far vedere il contenuto della pagina [#imPage] al suo avvio, ma solo dopo aver accettato, ed in caso di rifiuto deve indirizzare in una pagine neutra di cortesia con le spiegazioni del caso, oppure far indirizzare alla pagina di google per uscire fuori dal sito...
.
... per peronalizzare a piacere o quasi, si potrebbe usare il mio DIV_CUSTOM detto prima, un qualcosa di questo genere che avevo postato per il Forum EN:
(con o senza cookie)!
.
Autor
@KolAsim : Grazie per le risposte. Purtroppo, data la mia scarsa conoscenza dei codici, non riesco a segurti:
"per peronalizzare a piacere o quasi, si potrebbe usare il mio DIV_CUSTOM detto prima, un qualcosa di questo genere che avevo postato per il Forum EN:" non so cosa sia.
Ho provato a modificarlo ma non ci riesco. Nel mio caso per fare una cosa abbastanza precisa basterebbe sostituire OK con SI e CANCEL con NO.
Se possibile anche la scritta "...!... ATTENZIONE ...!..."
Poi lo incollo su tutte le pagine e avrei risolto.
... come detto prima per quello script, puoi modificare tutto il testo della descrizione/avviso, e non le parti qui evidenziate in rosso che sono generate automaticamente dal browser rispetto alla lingua di sistema in uso:
.
Autor
Qualcosa ho capito: ok e cancel non si possono modificare. Ho provato a modificare la parte dove c'è scritto "attenzione" ma non ci riesco.
... così è semplificato al massimo, (senza blocco pagina):
<script> function scelta(){ if( confirm("Premi OK se hai almeno 18 anni o ANNULLA per uscire")==true){} else { window.location.href="paginadicortesia.html";}}window.onload=function(){ scelta() } </script>
... devi solo preparare la pagina inerte, nascosta e senza grafica > paginadicortesia.html ... che puoi chiamare e/o sostituire come vuoi...
.
Autor
@ KolAsim : Grazie 1.000 per l'aiuto. Sempre gentilissimo e super preparato.
Per il momento (salvo imprevisti) direi che ho risolto.
Grazie anche agli altri che sono intervenuti.
Autor
Salve a tutti. il codice che sto utilizzando è questo:
<style> #imPage {display:none}</style><script>function scelta(){ if( confirm("PER ACCEDERE AL SITO DEVI ESSERE MAGGIORENNE\n\n PREMI: OK se sei maggiorenne | ANNULLA per uscire \n\n ")==true){document.getElementById("imPage").style.display = "block";} else { window.location.href="";}}window.onload=function(){ scelta() }</script>
Direi che funziona bene, 2 cose se possibile:
1. Blocca solo una pagina... in pratica non basta metterlo solo sulla home ma bisogna ripeterlo su tutte le pagine e questo è facilmente risolvibile.
2. Se lo metto sulla home e ad esempio su un'altra pagina con una galleria di foto giustamente mi blocca anche quella, poi se torno sulla home la riblocca di nuovo... in pratica è possibile sbloccare tutto una sola volta ?
... inserito al Passo_1 (anziché Passo_3!) ...il codice vale per tutte le pagine...
2. ... ... ... in pratica è possibile sbloccare tutto una sola volta ?
... come anticipato, si potrebbe integrare un controllo cookie dedicato, su cui si trova documentazione ricercando in rete...
Autor
Grazie KolAsim, non vorrei complicare troppo le cose con i cookie, per il momento provo così.
Sono poche pagine, forse è meglio ripeterlo, se lo metto al Passo_1 bloccherei anche la pagina di cortesia.
Autor
Altra cosa, scusate se sono noioso, sarebbe possibile inserire un collegamento ad una pagina sul banner che apre lo script ?
Ci vorrebbe in sintesi un messaggio cookie dedicato?
Se gestito con quella finestra di dialogo non credo sia possibile.
Domando scusa, ma non si potrebbe copiare e adattare il codice usato da WebSite X5 per la creazione le messaggio pubblicitario?
Autor
@ Gabriele C: Si, era un'dea, ma non va bene per il mio caso. Mi deve bloccare le pagine prima di effettuare l'accesso.
Autor
@ KolAsim: Lo script che sto provando blocca completamente il sito ? Nel senso che non registra neanche gli accessi ?
Ma se metti la funzione "Copertina" con una foto forse potrebbe andare. Imposti la singola visualizzazione e il gioco è fatto.
In alternativa online ho visto questo codice https://codepen.io/designsmoke/pen/aVmxab
ma non tiene memoria. Ci vorrebbe una piccole implementazione per impostare un display none in base ai cookie.
Tempo fa avevo provato un codice simile ma dava errore in console.
Autor
@ Gabriele C: Grazie per la risposta. Faccio delle prove.
... ... se lo metto al Passo_1 bloccherei anche la pagina di cortesia.
[/quote
... nel mio codice vedo che non hai messo la pagina di cortesia; ... supponendo che la metterai con nome "cortesia.html", sostituisci la precedente istruzione:
window.onload=function(){ scelta() }
... con questo mio personale controllo:
window.onload=function(){ var urlK = window.location.href.split('/');
var paginaK = urlK[urlK.length - 1];if(paginaK != "cortesia.html"){scelta();
}else {document.getElementById("imPage").style.display = "block";}}
.
Ho rattoppato questo codice ma credo di aver fatto qualche errore con JS perché mi continua a comparire il messaggio.
... è saltato qualcosa...
... nel mio codice vedo che non hai messo la pagina di cortesia; ... supponendo che la metterai con nome "cortesia.html", sostituisci la precedente istruzione:
window.onload=function(){ scelta() }
... con questo mio personale controllo:
window.onload=function(){ var urlK = window.location.href.split('/');
var paginaK = urlK[urlK.length - 1];if(paginaK != "cortesia.html"){scelta();
}else {document.getElementById("imPage").style.display = "block";}}
.
Autor
Grazie a tutti. In realtà il mio "problema" è abbastanza semplice: dovrei fare un sito, per un mio amico, per un'azienda che produce birra. Siccome ho visto che quasi tutti i produttori di alcolici inseriscono un controllo dell'età prima di entrare nella home, dovrei fare un "banner di blocco". Domanda: SEI MAGGIORENNE ? Si= accesso | No=pagina di cortesia. Naturalmente tutte le pagine del sito EX: www.nomedelsito/gallery.html ecc edono essere bloccate se non si è dichiarata l'età.
Capisco perfettamente Stefano, ma tieni presente che il minore non ti va a premere il tasto no. È solo una formalità come il banner dei cookie, nessuno si va a leggere tutta l'informativa.
Oltre a questo rischi di rovinare la UX.
infatti...
e non ha nessun valore... anche se in alcuni siti lo vedi...
@Stefano ma è un ecommerce ?
perchè se ecommerce quello che conta è che chi acquista sia maggiorenne.
Informati presso un avvocato ...
Diciamo che le aziende, almeno quelle con cui mi sono relazionato io, lo considerano come un must have.
Comunque se qualcuno riesce a risolvere il "rebus" del codice che ho allegato qui (https://codepen.io/stiac/pen/NWrOLyL), impostando un background solido ottieni la stessa funzione, ma lievemente più elegante.
Autor
No, non è un ecommerce, è un semplice sito vetrina di tre pagine.
Ho letto che è obbligatorio chiedere l'età a chi naviga prima di entrare e da quello che ho capito basta rispondere Si o No, non deve esserci una verifica (magari sbaglio)... quindi dovrebbe bastare un "banner di blocco" prima di accedere.
PS: Alcuni chiedono la data di nascita ma credo sia la stessa cosa in quanto non virne verificata.
Chiedi al loro o al tuo avvocato... non guardare quello che fanno gli altri...
Se non è ecommerce, da quello che mi hanno detto non serve. Se fanno vendita online ci va il controllo in fase di acquisto con esibizione del documento.
L'avvocato a cui ho chiesto io mi ha detto di fare in quel modo... quindi la responsabilità se l'è presa lui...
tu falla prendere alla vostra controparte...
Autor
@ Claudio D: OK, mi informerò meglio.
Comunque se si metto lo script che mi ha inviato KolAsim o le proposte di Gabriele C credo che male non faccia, al limite si mette una cosa in più...
Il codice che ti ho indicato dovrebbe andare più che bene. Funziona solo con localStorage. Non sono riuscito purtroppo con i Cookie.
assolutamente no...
meglio in più che in meno
Autor
Grazie a tutti per le risposte.