IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

JavaScript Discussion :

écrire extrait de cookie sur la page


Sujet :

JavaScript

  1. #1
    Nouveau membre du Club
    Inscrit en
    Mars 2007
    Messages
    65
    Détails du profil
    Informations forums :
    Inscription : Mars 2007
    Messages : 65
    Points : 28
    Points
    28
    Par défaut écrire extrait de cookie sur la page
    Bonjour à tous!

    Je suis confronté à un problème qui me bloque depuis quelque temps :

    Je souhaiterai, en javascript, pouvoir écrire le resultat d'une fonction sur la page et non son appel 'textuel'.

    Je m'explique en vous montrant le code :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    <script type="text/javascript">
     
    if(GetCookie('Chapitre')!=null)
    xtpage =GetCookie('Chapitre') + '::' + GetCookie('PageEnCours');
    else
    xtpage ="pasdecookies";
     
    </script>
    J'ai ceci mais je ne veux pas qu'il soit écris "GetCookie('Chapitre')" mais bien ce que cette fonction me renvoie à savoir par exemple "MONCHAPITRE" ce qui me donnerai au final ceci :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    <script type="text/javascript">
     
    if(GetCookie('Chapitre')!=null)
    xtpage ="MONCHAPITRE::MAPAGE";
    else
    xtpage ="pasdecookies";
     
    </script>
    Je précise que ceci est pour xiti, pour permetre d'avoir des chapitres "dynamiques" c'est à dire qu'on peut aboutir à une page par differents chemin et que donc les chapitres peuvent changer.

    Existe il donc en JAVASCRIPT le moyen de résoudre mon problème?

    Je vous remercie !

  2. #2
    Rédacteur/Modérateur

    Avatar de SpaceFrog
    Homme Profil pro
    Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Inscrit en
    Mars 2002
    Messages
    39 640
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 74
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2002
    Messages : 39 640
    Points : 66 669
    Points
    66 669
    Billets dans le blog
    1
    Par défaut
    document.write ?
    sinon innerHTML d'un élément de la page ?
    Ma page Developpez - Mon Blog Developpez
    Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts)
    Deux règles du succès: 1) Ne communiquez jamais à quelqu'un tout votre savoir...
    Votre post est résolu ? Alors n'oubliez pas le Tag

    Venez sur le Chat de Développez !

  3. #3
    Nouveau membre du Club
    Inscrit en
    Mars 2007
    Messages
    65
    Détails du profil
    Informations forums :
    Inscription : Mars 2007
    Messages : 65
    Points : 28
    Points
    28
    Par défaut
    En fait document.write ne marche pas quand j'affiche la source j'obtiens toujours

    xtpage =document.write(GetCookie('Chapitre'));

    alors que je veux obtenir (DANS L'affichage de la source!!)

    xtpage ="MONCHAPITRE";

    Je ne sais pas si je suis clair en fait il faudrai pouvoir "ecrire" du javascript en javascript (c'est tordu!).

    Il ne faut pas que ce qui est renvoyé dans la page soit interprété en tant que texte mais soit bel et bien executé pour me renvoyer le libéllé...

    Merci!

  4. #4
    Rédacteur/Modérateur

    Avatar de SpaceFrog
    Homme Profil pro
    Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Inscrit en
    Mars 2002
    Messages
    39 640
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 74
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2002
    Messages : 39 640
    Points : 66 669
    Points
    66 669
    Billets dans le blog
    1
    Par défaut
    ben avec
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    xtpage =document.write(GetCookie('Chapitre'));
    il faut que ta fonction GetCookie() ait un return avec le string attendu ...

    là on ne voit même pas ta fonction GetCookie
    Ma page Developpez - Mon Blog Developpez
    Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts)
    Deux règles du succès: 1) Ne communiquez jamais à quelqu'un tout votre savoir...
    Votre post est résolu ? Alors n'oubliez pas le Tag

    Venez sur le Chat de Développez !

  5. #5
    Nouveau membre du Club
    Inscrit en
    Mars 2007
    Messages
    65
    Détails du profil
    Informations forums :
    Inscription : Mars 2007
    Messages : 65
    Points : 28
    Points
    28
    Par défaut
    Voici la fonction :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
     
    function GetCookie (name) {  
    	var arg = name + "=";  
    	var alen = arg.length;  
    	var clen = document.cookie.length;  
    	var i = 0;  
    	while (i < clen) {    
    		var j = i + alen;    
    		if (document.cookie.substring(i, j) == arg)      
    			return getCookieVal (j);    
    		i = document.cookie.indexOf(" ", i) + 1;    
    		if (i == 0) break;   
    	}
     
    	return null;
    }
    Elle à bien les return qui faut....

    Quand j'execute la page et que je fais "afficher la source" j'ai toujours et encore

    xtpage =GetCookie('Chapitre');

    et non

    xtpage="CHAPITRE";

    je ne vois vraiment pas comment faire

  6. #6
    Membre à l'essai
    Profil pro
    Inscrit en
    Août 2006
    Messages
    19
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2006
    Messages : 19
    Points : 17
    Points
    17
    Par défaut
    J'ai pas tout saisi mais tu peut utiliser eval("CODE") pour construitre ton code au fur et à mesure p-e?

  7. #7
    Rédacteur/Modérateur

    Avatar de SpaceFrog
    Homme Profil pro
    Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Inscrit en
    Mars 2002
    Messages
    39 640
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 74
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2002
    Messages : 39 640
    Points : 66 669
    Points
    66 669
    Billets dans le blog
    1
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    return function(){getCookieVal (j); }
    ?
    sinon getCookieVal() elle fait quoi ?
    Ma page Developpez - Mon Blog Developpez
    Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts)
    Deux règles du succès: 1) Ne communiquez jamais à quelqu'un tout votre savoir...
    Votre post est résolu ? Alors n'oubliez pas le Tag

    Venez sur le Chat de Développez !

  8. #8
    Nouveau membre du Club
    Inscrit en
    Mars 2007
    Messages
    65
    Détails du profil
    Informations forums :
    Inscription : Mars 2007
    Messages : 65
    Points : 28
    Points
    28
    Par défaut
    Voici la fonction getCookieVal

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    function getCookieVal(offset) {
    	var endstr = document.cookie.indexOf (";", offset);
    	if (endstr == -1)
    	endstr = document.cookie.length;
    	return unescape(document.cookie.substring(offset, endstr));
    }
    elle recupère simplement la valeur du cookie en question...

    Sinon par rapport à la réponse sur le EVAL tu parle la de code coté serveur(asp.net) ?? car je ne peux utiliser de code serveur pour arriver à mes fins dans ce cas à cause de la mise en cache des pages par le navigateur. Cette mise en cache je souhaite la conserver.
    Une fois qu'une page est en cache le code coté serveur n'est plus executé et je ne peux donc pas changer mes chapitres dynamiquement.

    Le seul moyen que j'ai trouvé c'est la solution de placer des cookies en javascript et de les récuperer de la meme facon...seulement j'ai le souci évoqué plus haut.

    Je ne sais pas si j'ai été super clair dans mes explications alors je retente :

    En fait je veux trouver le moyen de rendre dans la source le RESULTAT d'une fonction et non son APPEL...

    Donc quand je me rends sur ma page html en navigant sur le site je veux que, en affichant la source (click droit) on retrouve le resultat de la fonction Getcookie ....

    Ca donnerai donc encore une fois :

    xtpage="CHAPITRE";

    ET PAS

    xtpage =GetCookie('Chapitre');


  9. #9
    Rédacteur/Modérateur

    Avatar de SpaceFrog
    Homme Profil pro
    Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Inscrit en
    Mars 2002
    Messages
    39 640
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 74
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2002
    Messages : 39 640
    Points : 66 669
    Points
    66 669
    Billets dans le blog
    1
    Par défaut
    je crois que je commence à comprendre ... ???


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    if(GetCookie('Chapitre')!=null)
    xtpage =window[GetCookie]('Chapitre') + '::' + window[GetCookie]('PageEnCours');
    else
    xtpage ="pasdecookies";
    ?
    Ma page Developpez - Mon Blog Developpez
    Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts)
    Deux règles du succès: 1) Ne communiquez jamais à quelqu'un tout votre savoir...
    Votre post est résolu ? Alors n'oubliez pas le Tag

    Venez sur le Chat de Développez !

  10. #10
    Nouveau membre du Club
    Inscrit en
    Mars 2007
    Messages
    65
    Détails du profil
    Informations forums :
    Inscription : Mars 2007
    Messages : 65
    Points : 28
    Points
    28
    Par défaut
    Je te remercie pour ton aide!

    Malhereusement ton code ne fonctionne pas, j'obtiens une erreur de script sur la page :

    "Cet objet ne gere pas cette propriété ou cette méthode"

    Sans doute le window qu'il n'aime pas!

    a noter que j'ai aussi essayé en faisant :

    xtpage =window[GetCookie('Chapitre')] ;

    La je n'ai plus d'erreur mais toujours le meme souci.... Je vois ce code dans la source de la page

  11. #11
    Rédacteur/Modérateur

    Avatar de SpaceFrog
    Homme Profil pro
    Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Inscrit en
    Mars 2002
    Messages
    39 640
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 74
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2002
    Messages : 39 640
    Points : 66 669
    Points
    66 669
    Billets dans le blog
    1
    Par défaut
    arf non c'est normal il attend uyn string


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    xtpage =window['GetCookie']('Chapitre') + '::' + window['GetCookie']('PageEnCours');
    Ma page Developpez - Mon Blog Developpez
    Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts)
    Deux règles du succès: 1) Ne communiquez jamais à quelqu'un tout votre savoir...
    Votre post est résolu ? Alors n'oubliez pas le Tag

    Venez sur le Chat de Développez !

  12. #12
    Nouveau membre du Club
    Inscrit en
    Mars 2007
    Messages
    65
    Détails du profil
    Informations forums :
    Inscription : Mars 2007
    Messages : 65
    Points : 28
    Points
    28
    Par défaut
    Cette fois ci plus d'erreur mais toujours le meme souci... je vois s'afficher dans le code source de la page :

    xtpage =window['GetCookie']('Chapitre') + '::' + window['GetCookie']('PageEnCours');

  13. #13
    Rédacteur/Modérateur

    Avatar de SpaceFrog
    Homme Profil pro
    Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Inscrit en
    Mars 2002
    Messages
    39 640
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 74
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2002
    Messages : 39 640
    Points : 66 669
    Points
    66 669
    Billets dans le blog
    1
    Par défaut
    heu pourquoi tu ne veut pas que ce soit écrit ???

    que te retourne alert(xtpage)

    si tu ne veux pas que ce soit écrit sur la page ce n'est pas en javascript que tu pourras faire ça mais en langage serveur ...

    sauf que pour le coup le cookie ben tu l'as pas ...
    Ma page Developpez - Mon Blog Developpez
    Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts)
    Deux règles du succès: 1) Ne communiquez jamais à quelqu'un tout votre savoir...
    Votre post est résolu ? Alors n'oubliez pas le Tag

    Venez sur le Chat de Développez !

  14. #14
    Nouveau membre du Club
    Inscrit en
    Mars 2007
    Messages
    65
    Détails du profil
    Informations forums :
    Inscription : Mars 2007
    Messages : 65
    Points : 28
    Points
    28
    Par défaut
    Je précise tout de meme le contexte général de tout ceci pour que ce soit plus compréhensible....

    J'essaye de faire cela a cause des marqueurs de contenu XITI qu'on doit mettre en place sur le site!! en fait XITI fourni un code a mettre dans le body de toutes les pages pour que le referencement se fasse bien ce code ressemble a ceci :

    Code :

    <script type="text/javascript">
    <!--
    xtnv = document; //parent.document or top.document or document
    xtsd = "http://logi7";
    xtsite = "...";
    xtn2 = "3"; // level 2 site
    xtpage = ""; //page name (with the use of :: to create chapters)
    xtdi = ""; //implication degree
    //-->
    </script>
    <script type="text/javascript" src="http://www.monsite.fr/xiti.js"></script>
    <noscript>
    <img width="1" height="1" alt="" src="http://logi7.xiti.com/hit.xiti?s=...&s2=3&p=&di=&" >
    </noscript>


    donc ici je veux rendre mes chapitres dynamiques , a savoir je veux savoir d'ou vient mon utilisateur par un systeme en deux niveau ce qui donnera pour XITI :

    xtpage="MONCHAPITRE::MAPAGE";

    mais cela est comme on le voit préconisé de mettre en dur dans la page!! Or moi j'essaie de rendre le chapitre et la page dynamique....

  15. #15
    Nouveau membre du Club
    Inscrit en
    Mars 2007
    Messages
    65
    Détails du profil
    Informations forums :
    Inscription : Mars 2007
    Messages : 65
    Points : 28
    Points
    28
    Par défaut
    Par rapport à ta réponse précédente c'est bien ce que je craignais....effectivement on ne peut faire cela que par le serveur mais j'esperais un miracle en javascript

    Le probleme du serveur c'est que les pages sont mises en cache!! donc quand on retourne sur une page qu'on a déja vu le code serveur n'est pas executé et donc le chapitre ne changera pas (par exemple cela restera sur le chapitre "RECHERCHE" alors que j'étais revenu sur "ACCEUIL") .... il envera donc "RECHERCHE" dans le javascript ce qui sera éroné


Discussions similaires

  1. Impossible d'écrire sur une page internet
    Par seb49 dans le forum Windows XP
    Réponses: 8
    Dernier message: 19/08/2009, 19h24
  2. Réponses: 4
    Dernier message: 27/01/2009, 13h34
  3. Comment gérer une session par cookie sur page asp
    Par alexsolex dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 04/10/2007, 22h30
  4. Réponses: 2
    Dernier message: 08/02/2007, 20h25

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo