popup che si apre SOLO alla prima pagina visitata, qualunque essa sia

frk

Utente Attivo
22 Ott 2009
52
1
8
Devo inserire un avviso popup che si apra su tutte le pagine del mio sito prima del caricamento del resto della pagina. Ho visto che la cosa si può fare semplicemente, ad esempio con i seguenti javascript

Codice:
<script type="text/javascript">
alert('Questo sito utilizza cookies di terze parti, cliccando su OK acconsenti all'utilizzo');
</script>


oppure

Codice:
<script type="text/javascript">
<!--
var answer = confirm ("Questo sito utilizza cookies di terze parti, cliccando su OK acconsenti all'utilizzo")
if (!answer)
window.location="http://www.yahoo.com/"
// -->
</script>


Il problema è che, dovendo inserire il codice in TUTTE le pagine, il popup continuerebbe ad apparire ad ogni nuova pagina del sito che il visitatore carica, cosa improponibile.

Come faccio a inserire una opzione che NON carichi più lo script dopo la prima pagina visitata?

Grazie in anticipo a chiunque avrà la gentilezza di rispondere.
 

MikiProgrammer

Utente Attivo
9 Mag 2015
63
2
8
Devi inserire questo codice PHP dopo il body:
PHP:
<?php
if (!isset($_COOKIE['visualizzato'])){
setcookie("visualizzato", "si");
echo "<script type=text/javascript>
alert('Questo sito utilizza cookies di terze parti, cliccando su OK acconsenti all'utilizzo');
</script>";
}
Dovrebbe funzionare...
 

frk

Utente Attivo
22 Ott 2009
52
1
8
Ti ringrazio molto per la risposta, in realtà ne stiamo discutendo già qui: http://forum.mrwebmaster.it/html-cs...e-miei-siti-alle-nuove-norme-sui-cookies.html

...non volevo fare cross-posting ma visto che si parlava di javascript avevo ritenuto opportuno aprire questo topic nella apposita sezione, poi sono arrivati molti interventi di là e allora abbiam proseguito...

Ad ogni modo, mi sto orientando più verso una finestra di tipo "var = confirm" perchè offre il tasto annulla che posso utilizzare come link alla cookie policy (informativa estesa), ma il problema è che il cookie viene scritto sia se si clicca su OK, sia se si clicca su Annulla

Questo è il codice che sto provando a usare:

Codice:
<script type="text/javascript">
<!--
if (!document.cookie.match(/(?:^|; *)alert_shown=1/)) {
var answer = confirm ("Questo sito utilizza cookies di terze parti, cliccando su OK acconsenti all'utilizzo. Cliccare su 'Annulla' per maggiori dettagli.")
document.cookie = "alert_shown=1;max-age=" + 60 * 60 * 24 * 365;
if (!answer)
window.location="cookie_policy.html";
}
// -->
</script>
 

MikiProgrammer

Utente Attivo
9 Mag 2015
63
2
8
Prova così:

Codice:
<script type="text/javascript">
<!--
if (!document.cookie.match(/(?:^|; *)alert_shown=1/)) {
var answer = confirm ("Questo sito utilizza cookies di terze parti, cliccando su OK acconsenti all'utilizzo. Cliccare su 'Annulla' per maggiori dettagli.");
if (!answer)
window.location="cookie_policy.html";
}else{
document.cookie = "alert_shown=1;max-age=" + 60 * 60 * 24 * 365;
}}
// -->
</script>

Se quello che ho capito è giusto, il codice dovrebbe andare bene...
 

frk

Utente Attivo
22 Ott 2009
52
1
8
Ti ringrazio molto per la gentilezza e per la rapida risposta, ma usando il codice da te modificato non si apre più nessuna finestra, nemmeno la prima volta (ovviamente ho provveduto a cancellare il cookie prima di provare).
 

Night Assassin

Utente Attivo
16 Mar 2013
200
0
0
Insomma... Puoi personalizzare link, testo, colori, modalità di apparizione

Inviato dal mio MotoE2(4G-LTE) utilizzando Tapatalk
 

frk

Utente Attivo
22 Ott 2009
52
1
8
Ringrazio entrambi per le risposte.

Lo script di Google non lo uso per una precisa scelta, non uso nemmeno script che tentano di caricare elementi dai domini di goole come googleapis.com et similia; oltretutto mi sembrerebbe un controsenso utilizzare un prodotto del "grande fratello" per salvaguardare la privacy degli utenti del web...

Il php non lo uso perchè i miei siti sono tutti statici in HTML puro.
 

Night Assassin

Utente Attivo
16 Mar 2013
200
0
0
Lo script di google non ha collegamenti col sito di google... Non invia dati né li riceve

Inviato dal mio MotoE2(4G-LTE) utilizzando Tapatalk
 

borgo italia

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
4 Feb 2008
16.046
150
63
PR
www.borgo-italia.it
ciao
prova una cosa del genere, io ho messo l'invio a due pagine diverse per non stare a cancellare ogni volta il cookie
HTML:
<!DOCTYPE HTML>
<html>
<head>
<script type="text/javascript">
<!--
function cooki_law(){
	if (!document.cookie.match(/(?:^|; *)alert_shown=1/)) {
		//confirm ("Questo sito utilizza cookies di terze parti, cliccando su OK acconsenti all'utilizzo. Cliccare su 'Annulla' per maggiori dettagli.");
		var answer = confirm ("Questo sito utilizza cookies di terze parti, cliccando su OK acconsenti all'utilizzo. Cliccare su 'Annulla' per maggiori dettagli.");
		if (!answer)
			//window.location="cookie_policy.html";
			window.location="000002.php";
		else
			window.location="000002C.php";
			//document.cookie = "alert_shown=1;max-age=" + 60 * 60 * 24 * 365;
	}
}
// -->
</script>
</head>
<body onLoad="cooki_law()">
<h1>resto pagina</h1>
</body>
</html>
prova
p.s.
quando crei il cookie aggiungi anhe il dominio e la path perche altrimenti si generano cookies per ogni pagina che vai
 

borgo italia

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
4 Feb 2008
16.046
150
63
PR
www.borgo-italia.it
ciao
ieri ti ho detto del dominio, ma mi ero dimenticato di postarlo
Codice:
document.cookie = "alert_shown=1;max-age=" + 60 * 60 * 24 * 365 +"; domain=.tuo_sito.it;path=/";
 

frk

Utente Attivo
22 Ott 2009
52
1
8
ciao
prova una cosa del genere, io ho messo l'invio a due pagine diverse per non stare a cancellare ogni volta il cookie
HTML:
<!DOCTYPE HTML>
<html>
<head>
<script type="text/javascript">
<!--
function cooki_law(){
	if (!document.cookie.match(/(?:^|; *)alert_shown=1/)) {
		//confirm ("Questo sito utilizza cookies di terze parti, cliccando su OK acconsenti all'utilizzo. Cliccare su 'Annulla' per maggiori dettagli.");
		var answer = confirm ("Questo sito utilizza cookies di terze parti, cliccando su OK acconsenti all'utilizzo. Cliccare su 'Annulla' per maggiori dettagli.");
		if (!answer)
			//window.location="cookie_policy.html";
			window.location="000002.php";
		else
			window.location="000002C.php";
			//document.cookie = "alert_shown=1;max-age=" + 60 * 60 * 24 * 365;
	}
}
// -->
</script>
</head>
<body onLoad="cooki_law()">
<h1>resto pagina</h1>
</body>
</html>
prova
p.s.
quando crei il cookie aggiungi anhe il dominio e la path perche altrimenti si generano cookies per ogni pagina che vai

Grazie ma purtroppo questo codice oltre alla finestra carica già tutta la pagina sottostante prima che l'utente clicchi su OK. Del resto il comando "onLoad" esegue una istruzione contemporaneamente al caricamento della pagina e non prima, non esiste un comando per caricare qualcosa prima della pagina, a quanto ne so (a parte le finestre "alert" e "confirm", ma senza integrarle in una funzione).
 

borgo italia

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
4 Feb 2008
16.046
150
63
PR
www.borgo-italia.it
ciao
si carica ma secondo me inattiva e quindi non fa niente
per provare cancella tutti i cookie che hai e chiamala e poi vai a vedere, senza dare il consenso, quali cokie ti ha generato, se non ha generato cookie vuol dire che funzia
 

borgo italia

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
4 Feb 2008
16.046
150
63
PR
www.borgo-italia.it
ciao
dimenticavo e dico una ca..ata: se non ti è di troppo lavoro perchè non trasformi le tua pagine statiche in dinamiche (basta che tu cambi l'estenzione da .html a .php) quindi le pagine possono usare del codice php, certo dovrai lavorare per fare diverse modifiche ma mettendo alla riga uno un codice del genere
PHP:
<?php
if(!isset($_COOKIE['alert_shown'] || $_COOKIE['alert_shown']!="1"){
	header("location:pagina.php");//pagina.php non genera cookie da sola o se il cookie è diverso da uno
	exit();
}
//tutta la parte sotto non si carica se non esiste il cookie di accettazione
?>
<!DOCTYPE HTML>
<html>
<head>
<!-- quello che ti serve -->
</head>
<body>
<!-- resto della pagina -->
</body>
</html>
poi nella pagina pagina.php metti la creazione e tutti gli avvisi per la cokie law con in caso di accettazione il riinvio alla home
mettendo quella parte di codice php in tutte le pagine queste si vedono e formano gli altri eventuali cookie solo se uno ha accettato
 

frk

Utente Attivo
22 Ott 2009
52
1
8
ciao
si carica ma secondo me inattiva e quindi non fa niente
per provare cancella tutti i cookie che hai e chiamala e poi vai a vedere, senza dare il consenso, quali cokie ti ha generato, se non ha generato cookie vuol dire che funzia

Mi spiace ma devo smentirti: ho provato a inserire un annuncio adsense nella pagina di prova con il tuo script e non solo viene mostrato sotto la finestra ma scrive il cookie profilante di doubleclick prima che si clicchi su qualunque scelta, e questo è quello che la legge italiana (unica in europa) non permette.

Ti ringrazio anche per il consiglio sul php ma preferisco mantenere i miei siti statici e comunque se decidessi di traformarli in dinamici ripartirei da zero, non vedo di buon occhio una trasformazione posticcia.

Comunque non vi preoccupate, ormai provvedo con la finestra che scrive il cookie in ogni caso ma che almeno blocca la pagina finchè l'utente non ha cliccato OK o non ha visionato l'informativa estesa, anche perchè Google mi aveva dato fino a domani per adeguarmi e non ho più tempo di studiare soluzioni migliori.

Grazie di cuore, mi siete stati tutti di grande aiuto!
 
Discussioni simili
Autore Titolo Forum Risposte Data
F popup che non si apre HTML e CSS 6
Shyson Impedire che il popup sparisca Javascript 0
L popup che blocca la pagina .. quasi completato mi date un aiuto? jQuery 1
M popup con i CSS che scorre insieme alla pagina HTML e CSS 2
S Apertura popup da form che non si può toccare Javascript 1
L popup che cambiano all'apertura di una pagina Webdesign e Grafica 0
G Primo popup che si chiude all'apertura del secondo Javascript 1
D popup con javascript che faccia un refresh sulla pagina chiamante Javascript 3
E Popup con grandezza che si adatta Javascript 2
L Posizione a un popup Javascript 0
L Chiusura automatica popup Javascript 0
C finestra popup dopo login PHP 2
bubino8 [Javascript] popup di controllo elimina dopo window.print(); Javascript 0
Y [Javascript] z-index popup accettazione cookie Javascript 1
L PopUp tramite PHP se la mail inserita è già registrata nel database PHP 3
riminese77 [ASP.Net] Popup Bootstrap in datagrid ASP.NET 0
L da php a popup java PHP 2
F [Javascript] chiusura popup e refresh pagina madre su punto preciso Javascript 0
L [ASP.Net] Realizzare modulo contatti PopUp ! ASP.NET 1
V [Javascript] Passaggio valore da popup a pagina madre Javascript 5
K [HTML] Thumbnail (mouseover) + Popup immagine HTML e CSS 1
G [RISOLTO][Javascript] aggiungere elemento ad array definito nella finestra madre da popup Javascript 4
M come creare un popup con CSS da una pagina esterna? jQuery 1
S [CERCO] spazio web per piccolo popup Fb, pago euro 10 ogni 1000 aperture Vendere e Acquistare pubblicita' online 0
F Switch Popup jQuery 0
T [ASP] controllare popup Classic ASP 3
Shyson Aprire finestra popup con Safari Javascript 6
L Problema per centrare titolo PopUp HTML e CSS 5
filomeni Popup pubblicitario con conto alla rovescia Snippet Javascript 1
L effetto galleria popup (immagini) jQuery 1
S [COMPRO] PopUp Fisso Sul Tuo Sito Web dai 300 ai 4000€ al mese Vendere e Acquistare pubblicita' online 1
M Aprire un popup con un form jQuery 2
P SAVE FAILED popup Joomla 0
J Programmazione di un finestra tipo popup CMS (Content Management System) 1
M Print + pagina popup di ringraziamento Javascript 2
G Popup con cookie Javascript 0
M creare form in un popup HTML e CSS 1
B Creare popup con dreamweaver HTML e CSS 3
T [VBulletin] Plugin per Popup Facebook CMS (Content Management System) 0
E Centrare finestra popup Javascript 7
A richiamare funzione javascript dopo login in popup. Javascript 0
andrea.peo Java popup con ricerca e invio Javascript 0
S finestre popup HTML e CSS 2
S devo creare un popup con metodo post HTML e CSS 0
F Problema finestra popup jQuery 4
A struts2 + jsp + modal popup Java 2
D Popup facebook HTML HTML e CSS 4
Shyson Mettere immagine per chiudere popup HTML e CSS 1
Shyson Onclick apre popup nel posto sbagliato Javascript 0
T Eludere blocco popup Javascript 0

Discussioni simili