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

Bibliothèques & Frameworks Discussion :

Texte chargé dans une <div> contenant des balises <script> [Prototype]


Sujet :

Bibliothèques & Frameworks

  1. #1
    Membre régulier
    Homme Profil pro
    Développeur Web
    Inscrit en
    Septembre 2007
    Messages
    92
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Septembre 2007
    Messages : 92
    Points : 116
    Points
    116
    Par défaut Texte chargé dans une <div> contenant des balises <script>
    Hello!

    Alors voilà, j'ai une page A qui contient un lien et une div:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    <div id="madiv">
    <a href="#" onClick="javascript.ajax(...)">
    </div>
    la page B qui est chargée, contient:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    <iframe src="javascript:false;" name="m" style="position:absolute;left:-9999px;"></iframe>
    <script type="text/javascript" src="m.js"></script>
    <script>Init();</script>
    La page se charge mais m.js ne se charge pas, une idée?

    Merci!

    ~W~
    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    class certified{
       private $CV;
       public function __construct($CV){
          $this->CV="W3 Excellence";   
       }
       public function certification(){
          echo $this->CV . " Javascript, PHP, CSS, MySQL";
       }
    }
    $wenijah = new certified();

  2. #2
    Membre averti
    Inscrit en
    Novembre 2006
    Messages
    336
    Détails du profil
    Informations forums :
    Inscription : Novembre 2006
    Messages : 336
    Points : 374
    Points
    374
    Par défaut
    Q'est ce que tu essayes de faire exactement?
    Si tu essayes de récupèrer le contenu de la page B dans la page A et d'en executer le javascript, ça ne fonctionnera pas.

  3. #3
    Membre régulier
    Homme Profil pro
    Développeur Web
    Inscrit en
    Septembre 2007
    Messages
    92
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Septembre 2007
    Messages : 92
    Points : 116
    Points
    116
    Par défaut
    Yes merci... Entre temps, je me suis renseigné et il y aurait plusieurs solutions:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    Soluce 1 : eval();
     
    Soluce 2 : var global = this;
    global.eval();
     
    Soluce 3 : window.eval();
     
    Soluce 4 : window.execScript();
    Pour les 4 fonctions, c'est un échec... Alors je me suis tourné vers ma framework de base (jquery) et ai essayé:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Soluce 5 : evalScripts();
    Encore un échec... Pour ne considérer que mon nouveau code sans me poser la question des js déjà chargé, j'ai utilisé l'HTML DOM avec JSON-to-DOM:

    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
    17
    18
    19
    20
    21
    22
    23
    24
    Soluce 6 : [
      {"_tag" : "script",
        "type" : "text/javascript",
        "src" : "script.js"
      },
    ]
     
    function jsonToDom(o) {
      if (typeof o === "string")
        return document.createTextNode(o);
     
      var r = document.createElement(o._tag);
     
      for (var x in o)
        if (o.hasOwnProperty(x)
            && x.indexOf("_") !== 0)
          r[x] = o[x];
     
      if(o._children && o._children.length)
        for (var i = 0, e = o._children, n = e.length; i < n; ++i)
          r.appendChild(jsonToDom(e[i]));
     
      return r;
    }
    Encore et toujours un échec. Seul possible, l'appel de mon script pendant la requête XHR mais là aussi... Un problème et d'ailleurs LE problème:

    1. Je dois appeler du javascript de 2 façons différentes; la première est d'appeler des "var" qui ne doivent être chargés qu'après que la page B soit prête car ils contiennent des infos prescrites par mon cgi; la seconde est un script complet <script src="script.js"></script>. Si je charge le .js pendant la fonction ajax, ça fonctionne pour "script.js" mais pas pour les "var".... Je tourne en rond.

    Comme il ne s'agit pas que d'un framework, j'oublie l'eval();

    Alors 1 nouvelle solution est apparue, l' Iframe - pas pratique mais ça fonctionne. Je ne voulais pas en arrivé là mais bon... j'ai beau chercher partout, je trouve pas ce qui convient réellement... =/

    Merci!

    ~w~
    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    class certified{
       private $CV;
       public function __construct($CV){
          $this->CV="W3 Excellence";   
       }
       public function certification(){
          echo $this->CV . " Javascript, PHP, CSS, MySQL";
       }
    }
    $wenijah = new certified();

  4. #4
    Candidat au Club
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    3
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2006
    Messages : 3
    Points : 2
    Points
    2
    Par défaut
    Bonjour,

    J'ai exactement le même et ne sait pas comment faire, personne ne sait j'ai l'impression ?

  5. #5
    Expert éminent

    Avatar de denisC
    Profil pro
    Développeur Java
    Inscrit en
    Février 2005
    Messages
    4 050
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : Canada

    Informations professionnelles :
    Activité : Développeur Java
    Secteur : Service public

    Informations forums :
    Inscription : Février 2005
    Messages : 4 050
    Points : 7 641
    Points
    7 641
    Par défaut
    Citation Envoyé par boulika Voir le message
    J'ai exactement le même et ne sait pas comment faire, personne ne sait j'ai l'impression ?
    Le framework prototype propose des méthodes permettant d'évaluer des scripts dans une réponse Ajax.

    La méthode evalSripts() qui peut être appellée sur une chaine de caractère me parait tout indiquée....

    En faisant typiquement :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    var texte = xhr.responseText;
    texte.evalScripts();
    document.getElementById('monId').innerHTML = texte.stripScripts();

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. delete dans une table contenant des primary key
    Par bracket dans le forum Langage SQL
    Réponses: 2
    Dernier message: 28/11/2008, 17h41
  2. actualiser une DIV contenant des images
    Par jc_cornic dans le forum Langage
    Réponses: 6
    Dernier message: 21/10/2006, 15h42
  3. Réponses: 1
    Dernier message: 18/04/2006, 12h24
  4. Réponses: 2
    Dernier message: 07/11/2005, 18h54

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