Précédent   Forum des professionnels en informatique > Webmasters - Développement Web > JavaScript > Bibliothèques & Frameworks > Prototype & Script.aculo.us
Prototype & Script.aculo.us Forum d'entraide sur les frameworks Prototype et Script.aculo.us
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 07/11/2007, 07h52   #1
Membre régulier
 
Homme
Développeur Web
Inscription : septembre 2007
Messages : 77
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : Suisse

Informations professionnelles :
Activité : Développeur Web

Informations forums :
Inscription : septembre 2007
Messages : 77
Points : 78
Points : 78
Par défaut [Prototype] 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 :
1
2
3
<div id="madiv">
<a href="#" onClick="javascript.ajax(...)">
</div>
la page B qui est chargée, contient:

Code :
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~
wenijah est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 08/11/2007, 09h53   #2
Membre éclairé
 
Inscription : novembre 2006
Messages : 336
Détails du profil
Informations forums :
Inscription : novembre 2006
Messages : 336
Points : 323
Points : 323
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.
__________________
Concours Javascript! Viendez!
Shinuza est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 08/11/2007, 14h55   #3
Membre régulier
 
Homme
Développeur Web
Inscription : septembre 2007
Messages : 77
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : Suisse

Informations professionnelles :
Activité : Développeur Web

Informations forums :
Inscription : septembre 2007
Messages : 77
Points : 78
Points : 78
Yes merci... Entre temps, je me suis renseigné et il y aurait plusieurs solutions:

Code :
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 :
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 :
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~
wenijah est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 22/11/2007, 15h37   #4
Invité de passage
 
Inscription : octobre 2006
Messages : 3
Détails du profil
Informations forums :
Inscription : octobre 2006
Messages : 3
Points : 1
Points : 1
Bonjour,

J'ai exactement le même et ne sait pas comment faire, personne ne sait j'ai l'impression ?
boulika est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 22/11/2007, 17h28   #5
Expert Confirmé Sénior
 
Avatar de denisC
 
Inscription : février 2005
Messages : 4 069
Détails du profil
Informations personnelles :
Âge : 32
Localisation : France, Paris (Île de France)

Informations forums :
Inscription : février 2005
Messages : 4 069
Points : 4 698
Points : 4 698
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 :
1
2
3
4
 
var texte = xhr.responseText;
texte.evalScripts();
document.getElementById('monId').innerHTML = texte.stripScripts();
denisC est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 10h25.


 
 
 
 
Partenaires

Hébergement Web