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 :

[AJAX] Emplacement du script


Sujet :

JavaScript

  1. #1
    Membre exp�riment�
    Avatar de Strab
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    338
    D�tails du profil
    Informations personnelles :
    �ge : 41
    Localisation : France

    Informations forums :
    Inscription : Mai 2004
    Messages : 338
    Par d�faut [AJAX] Emplacement du script
    Bonjour,

    Je suis en train de d�velopper un site utilisant Ajax pour recharger seulement le contenu de la page quand l'utilisateur change de page.
    Sur certaines de ces pages, je veux utiliser du javascript, mais il semblerait que je ne peux le faire que si le script a �t� mis dans les balises head.

    Cela ne m'arrange pas, car je voudrais que le javascript soit g�n�r� en fonction de la requ�te, mais les balises ne sont jamais recharg�es, seul le contenu l'est.

    Quelqu'un a-t-il une explication et/ou solution ?

    Merci de votre aide

  2. #2
    Membre Expert Avatar de KiLVaiDeN
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    2 888
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 2 888
    Par d�faut
    Salut,

    La solution est d'utiliser la fonction eval de JavaScript.

    Ton probl�me est que le browser charge les scripts qui lui sont immediatement accessibles; ceux qui sont charg�s de mani�re asynchrones ne sont pas charg�s � nouveau; tu dois donc explicitement les "�valuer" avec la commande eval

    A+

  3. #3
    Membre exp�riment�
    Avatar de Strab
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    338
    D�tails du profil
    Informations personnelles :
    �ge : 41
    Localisation : France

    Informations forums :
    Inscription : Mai 2004
    Messages : 338
    Par d�faut
    Merci pour ta r�ponse.

    J'ai essay�, je suis plus pr�s de la solution mais �a ne marche encore pas.

    J'ai ajout� un appel Ajax qui r�cup�re le code javascript et je le passe � la fonction eval. Celui-ci est bien �valu� (v�rifi� avec des alert()). Mais lorsque dans la page que j'ai charg�e, je fais appel � une fonction d�finie dans le script ainsi �valu�, cela ne marche pas. Un alert � l'entr�e de la fonction n'est pas �valu�.

    Je suis s�r du code �valu�, je l'ai test� � part dans le m�me contexte d'utilisation.

    Ai-je oubli� quelque chose ? Peut-�tre voulez-vous un peu de code pour y voir clair ?

  4. #4
    Membre Expert Avatar de KiLVaiDeN
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    2 888
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 2 888
    Par d�faut
    Quel message d'erreur as-tu lorsque tu fais appel � ces nouvelles fonctions ?

  5. #5
    Membre exp�riment�
    Avatar de Strab
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    338
    D�tails du profil
    Informations personnelles :
    �ge : 41
    Localisation : France

    Informations forums :
    Inscription : Mai 2004
    Messages : 338
    Par d�faut
    Le message est "Objet attendu".
    C'est ligne 1 car 1 d'apr�s le d�buggeur de IE, mais comme c'est du code �valu�, � mon avis c'est faux.

    Voici le code de la fonction appel�e au moment de l'erreur :
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    function deroule(id)
    {
        if(etats[id] == 0){
            document.getElementById('conv'+id).innerHTML = convs[id];
            etats[id] = 1;
        } else {
            document.getElementById('conv'+id).innerHTML = resumes[id];
            etats[id] = 0;
        }
    }
    Toutes les variables et id utilis�s sont correctement d�finis et bien nomm�s dans le code. La ligne 1 du code �valu� est :
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
     
    var convs = new Array();
    Je ne pense pas que ce soit une erreur de code, car il marche quand je l'essaie dans une page � part o� tout est synchrone.

  6. #6
    Membre �m�rite
    Avatar de kankrelune
    Profil pro
    Inscrit en
    D�cembre 2005
    Messages
    763
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : D�cembre 2005
    Messages : 763
    Par d�faut
    Il me semble que la question a d�ja �t� abord�e dans le forum... .. .

    @ tchaOo�

  7. #7
    Membre exp�riment�
    Avatar de Strab
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    338
    D�tails du profil
    Informations personnelles :
    �ge : 41
    Localisation : France

    Informations forums :
    Inscription : Mai 2004
    Messages : 338
    Par d�faut
    Oui, j'ai vu ce thread, mais il n'a pas �t� r�solu. Il y a une autre solution qui est propos�e, mais je n'ai pas vraiment compris en quoi elle consistait.

    Apr�s un peu de recherche, il semblerait que le code ne marche pas car les �l�ments cr��s par le code �valu� dynamiquement ne sont atteignables que dans le script qui a fait l'�valuation. Du coup, je ne peux pas appeler la fonction depuis le javascript.

    Si quelqu'un a quelques �l�ments de r�ponse � m'apporter...

  8. #8
    Membre Expert Avatar de KiLVaiDeN
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    2 888
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 2 888
    Par d�faut
    Tu peux cr�er un objet "global" � ta page d�s le d�but.

    Ensuite, pour toutes tes nouvelles fonctions, tu les associerais � cet objet; Ainsi, elles seront visible de partout, vu que l'objet lui m�me �tait visible d�s le d�part.

    Qu'en penses-tu ?

  9. #9
    Membre exp�riment�
    Avatar de Strab
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    338
    D�tails du profil
    Informations personnelles :
    �ge : 41
    Localisation : France

    Informations forums :
    Inscription : Mai 2004
    Messages : 338
    Par d�faut
    Ouep, bonne id�e.

    Je fais rarement du javascript, et j'avais oubli� que les fonctions pouvaient se manipuler aussi facilement.

    Je l'ai essay�e, et apparemment �a marche tr�s bien.
    Merci beaucoup !

  10. #10
    Membre exp�riment�
    Avatar de Strab
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    338
    D�tails du profil
    Informations personnelles :
    �ge : 41
    Localisation : France

    Informations forums :
    Inscription : Mai 2004
    Messages : 338
    Par d�faut
    Aux futurs lecteurs :

    es �l�ments cr��s par le code �valu� dynamiquement ne sont atteignables que dans le script qui a fait l'�valuation
    En fait, ceci n'est pas tout � fait vrai. Ils ne sont atteignables qu'avec la m�me port�e de l'instruction eval(). En clair, si l'instruction eval est effectu�e dans une fonction, les �l�ments du code dynamique ne restent valables que dans cette fonction. Ils faut donc les conserver dans des variables globales pour les utiliser ailleurs.

    Hope this helps.

  11. #11
    Membre Expert Avatar de KiLVaiDeN
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    2 888
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 2 888
    Par d�faut
    Tu dois pouvoir aussi ajouter des scripts dynamiquement � ta page en jouant avec l'arborescence DOM

  12. #12
    Membre exp�riment�
    Avatar de Strab
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    338
    D�tails du profil
    Informations personnelles :
    �ge : 41
    Localisation : France

    Informations forums :
    Inscription : Mai 2004
    Messages : 338
    Par d�faut
    Ouep, je crois que c'est ce que fait la solution propos�e dans l'autre post � ce sujet.

    Mais la discussion n'a pas �t� assez loin pour dire si �a marche, et �a avait l'air assez compliqu� : je ne comprenais pas la moiti� des lignes de code propos�es
    C'est peut-�tre parce que je n'ai jamais fait ce genre de manip.

+ R�pondre � la discussion
Cette discussion est r�solue.

Discussions similaires

  1. [Ajax] lancer un script php en php (4.x)
    Par zan001 dans le forum Langage
    R�ponses: 1
    Dernier message: 08/11/2006, 12h49
  2. [AJAX] Appel de script erronn�
    Par ryojii dans le forum G�n�ral JavaScript
    R�ponses: 1
    Dernier message: 21/10/2006, 15h48
  3. [AJAX] forcer un script ajax � ne pas regarder dans le cache
    Par grinder59 dans le forum G�n�ral JavaScript
    R�ponses: 1
    Dernier message: 18/07/2006, 17h33
  4. [AJAX] JS ou AJAX pour ce script?
    Par kenny49 dans le forum G�n�ral JavaScript
    R�ponses: 1
    Dernier message: 07/07/2006, 14h17
  5. [AJAX] sql +java script dans xhtml
    Par 18Marie dans le forum G�n�ral JavaScript
    R�ponses: 5
    Dernier message: 15/06/2006, 19h15

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