cs_jecirbe
Messages postés13Date d'inscriptionjeudi 10 avril 2003StatutMembreDernière intervention10 janvier 2008
-
8 janv. 2008 à 11:54
cs_jecirbe
Messages postés13Date d'inscriptionjeudi 10 avril 2003StatutMembreDernière intervention10 janvier 2008
-
10 janv. 2008 à 12:34
Bonjour,
J'ai utilisé un script javascript pour créer une fausse popup. Je me suis débrouiller ( un peu de script par ci un autre part là) pour que cette fausse popup s'ouvre à l'ouverture de la page. Maintenant j'aimerais limité cette ouverture à une seule fois par jour ou par visite, car lorsque le visiteur va sur autre page puis revient, ben la popup aussi.
J'ai fait des recherches avant de poster mais je n'ai rien trouver. peut-être mauvais mots clés
Marci d'avance de vortre aide
cs_bultez
Messages postés13616Date d'inscriptionjeudi 13 février 2003StatutMembreDernière intervention15 octobre 201330 10 janv. 2008 à 10:18
>>lorsque que le cookie est présent je veux qu'il ne se passe rien
ben... ne fais rien !
et entre nous, pourquoi onload ? ( ou alors mets-y "tout" )
met le script juste avant et point barre !
<html>
....
.... ta page...
<script type= "text/javascript">
var da = new Date();
var auj=((da.getFullYear()*12*31)+(da.getMonth()*31)+(da.getDate()));
if ( auj != Number( document.cookie ) )
{ var lb = new Lightbox();
lb.start( $('firstImageID') );
var d=new Date(Date.parse(da)+(1000*60*60*2)); // pour "presque" 1 jour
document.cookie=auj + ";expires=" + d.toGMTString() + ";" ;
}
</script>
</html>
ou .... et là on place le script n'importe ou dans la page !!!!!
et ça revient strictement au même.
<html>
....
<script type="text/javascript">
window.onload=function()
{
... les lignes en orange...
}
</script>
.... ta page...
</html>
ou <head>
<script type ="text/javascript">
function fonction_cookie()
{ ... les lignes en orange ... }
</head>
...
cs_bultez
Messages postés13616Date d'inscriptionjeudi 13 février 2003StatutMembreDernière intervention15 octobre 201330 10 janv. 2008 à 12:23
>>Est-ce que ce script connaitra des pbs avec certains navigateurs.
je ne pense pas... mais va savoir ?
( testé de mon coté, en plus, avec IE7, K-Meleon, Opera, Safari )
>>Faut-il faire un test d'acceptation de javascript ou d'acceptation des cookies?
accepter le javascript et les cookies se paramètre dans les navigateurs.
on ne peut que constater les choses et suggèrer au visiteur d'accepter, rien de plus.
pour la javascript, dans le html, ce qui est entre les balises <noscript> et </noscript>
est affiché si le javascript n'est pas validé.
pour les cookies, il y a bien navigator.cookieEnabled et autres... , mais tous les
navigateurs ne connaissent pas. le plus simple est probablement de créer
un cookie, de récupérer les erreurs ( try/catch au cas où ) , puis de regarder s'il existe...
cs_bultez
Messages postés13616Date d'inscriptionjeudi 13 février 2003StatutMembreDernière intervention15 octobre 201330 8 janv. 2008 à 12:26
un conflit ?
au chargement de la page :
il y a un cookie ?
non : le créer avec la date du jour
afficher le pop-up
oui : même jour ? ( ou autre test )
non : modifier la date du cookie
afficher le pop-up
cs_bultez
Messages postés13616Date d'inscriptionjeudi 13 février 2003StatutMembreDernière intervention15 octobre 201330 8 janv. 2008 à 15:08
salut XTremDuke
et même déjà trop "sophistiqué" pour le besoin ici
_ créer un cookie (pour ~1 an) :
= ===========================
var da = new Date();
var d = new Date( Date.parse(da) + ( 1000*60*60*24*365 ) );
document.cookie = "données du cookies" +
";expires=" + d.toGMTString() + ";" ;
données du cookies : la date du jour, par exemple ?
_ utiliser les données du cookie :
==============================
alert(document.cookie);
cs_jecirbe
Messages postés13Date d'inscriptionjeudi 10 avril 2003StatutMembreDernière intervention10 janvier 2008 8 janv. 2008 à 15:46
d'abord merci pour vos réponses.
petites questions subsidiaires:
la partie créer un cookie se met dans le <head> exact?
cela devrait ressembler à ca ?
<head>
<script type="text/javascript">
var da = new Date();
var d = new Date( Date.parse(da) + ( 1000*60*60*24) );
document.cookie = "données du cookies" +
";expires=" + d.toGMTString() + ";" ;
</script>
<head>
et la partie utiliser les données du cookie ca se met ou?
cs_bultez
Messages postés13616Date d'inscriptionjeudi 13 février 2003StatutMembreDernière intervention15 octobre 201330 8 janv. 2008 à 16:07
>>la partie créer un cookie se met dans le <head> exact?
où tu veux... comme tout le javascript.
par "convenance", pour plus de clarté.... souvent...
on y met les function.
>>et la partie utiliser les données du cookie ca se met ou?
c'est ce qui est en rouge...
sera "récupéré" par document.cookie
si on fait document.cookie="toto;expires=" + d.toGMTString() + ";" ;
alert(document.cookie) affichera toto
même si on ferme le pc entre temps.
cs_jecirbe
Messages postés13Date d'inscriptionjeudi 10 avril 2003StatutMembreDernière intervention10 janvier 2008 9 janv. 2008 à 08:09
Bonjour
j'ai essayé de faire mes devoirs mais apparement il y a des erreurs car ce que j'ai fait ca marche pas .
voici la partie du code qui nous intéresse. J'avoue que j'ai cherché a adapté un script que j'ai trouvé . Le pb c'est que lorsque je ne trouve pas le cookie sur mon PC et de deux ma fausse popoup qui devrait s'afficher par la fonction startup:
<script type="text/javascript">
function SetCookie (name, value)
{
//nouvel objet date
var aujourdhui = new Date() ;
//creation du cookie
document.cookie = name + "=" + value + ";expires=" + expdate.toGMTString() ;
}
//récupère la valeur du cookie
function GetCookie ()
{
var cookValue = "" ;
//on récupère la position du "=" dans le cookie
var egal = document.cookie.indexOf( "=" ) ;
//on prend la sous-chaine comprise entre le "=" et le ";" donc sa valeur
cookValue = document.cookie.substring ( egal + 1 ) ;
cs_jecirbe
Messages postés13Date d'inscriptionjeudi 10 avril 2003StatutMembreDernière intervention10 janvier 2008 10 janv. 2008 à 09:47
bonjour
gra^ce à vous tous tout marche presque parfaitement. un tout petit soucis. tout d'abord le petit code:
<script type="text/javascript">
var da = new Date();
var auj=((da.getFullYear()*12*31)+(da.getMonth()*31)+(da.getDate()));
//alert("*"+document.cookie);
if ( auj == Number( document.cookie ) )
{ alert ("toujours ici!"); }
else { window.onload = function() {
var lb = new Lightbox();
lb.start( $('firstImageID') );}
var d=new Date(Date.parse(da)+(1000*60*60*2)); // pour "presque" 1 jour
document.cookie=auj + ";expires=" + d.toGMTString() + ";" ;
}
</script>
Mon problème est que lorsque que le cookie est présent je veux qu'il ne se passe rien. j'ai essayé avec return false; quand je tape cette ligne à la place de alert("toujours ici"); et bien rien se passe comme prévu .Mais quand je supprime le cookie et que je rffraichis la page, il y rien qui se passe . Pourquoi javascript est si"méchant" avec moi?
Merci d'avance