<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	>
<channel>
	<title>Commentaires sur : javascript eval global</title>
	<atom:link href="http://www.xorax.info/blog/programmation/55-javascript-eval-global.html/feed" rel="self" type="application/rss+xml" />
	<link>http://www.xorax.info/blog/programmation/55-javascript-eval-global.html</link>
	<description>un vrai blog ajax sur le développement web</description>
	<pubDate>Fri, 05 Dec 2008 09:18:37 +0000</pubDate>
	<generator>http://wordpress.org/?v=2.5</generator>
		<item>
		<title>Par : XoraX</title>
		<link>http://www.xorax.info/blog/programmation/55-javascript-eval-global.html#comment-9684</link>
		<dc:creator>XoraX</dc:creator>
		<pubDate>Mon, 16 Apr 2007 16:23:51 +0000</pubDate>
		<guid isPermaLink="false">http://www.xorax.info/blog/programmation/55-javascript-eval-global.html#comment-9684</guid>
		<description>si tu utilise prototype :
&lt;pre lang="javascript"&gt;
Event.observe(window, 'load', function(){
...
}
&lt;/pre&gt;

sinon, à chaque fois que tu veux ajouter un écouteur :
&lt;pre lang="javascript"&gt;
function addLoadEvent(func) {
  var oldfunc = window.onload &#124;&#124; function(){} ;
  window.onload = function () {
    oldfunc();
    func();
  }
}
&lt;/pre&gt;

mais je crois que ton problème c'est plutôt, que tu charge du contenu en ajax donc l'apel à window.onload ne se fait pas. Donc tu dois le faire toi-même si tu le souhaite à chaque fois que tu as fini un XHR tu lance &lt;strong&gt;window.onload();&lt;/strong&gt;, tout simplement.


en passan je ferme les commentaires pour cet article, allez voir la nouvelle version ;)</description>
		<content:encoded><![CDATA[<p>si tu utilise prototype :</p>
<pre lang="javascript">
Event.observe(window, 'load', function(){
...
}
</pre>
<p>sinon, à chaque fois que tu veux ajouter un écouteur :</p>
<pre lang="javascript">
function addLoadEvent(func) {
  var oldfunc = window.onload || function(){} ;
  window.onload = function () {
    oldfunc();
    func();
  }
}
</pre>
<p>mais je crois que ton problème c&#8217;est plutôt, que tu charge du contenu en ajax donc l&#8217;apel à window.onload ne se fait pas. Donc tu dois le faire toi-même si tu le souhaite à chaque fois que tu as fini un XHR tu lance <strong>window.onload();</strong>, tout simplement.</p>
<p>en passan je ferme les commentaires pour cet article, allez voir la nouvelle version <img src='http://www.xorax.info/blog/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /></p>
]]></content:encoded>
	</item>
	<item>
		<title>Par : Fred</title>
		<link>http://www.xorax.info/blog/programmation/55-javascript-eval-global.html#comment-9674</link>
		<dc:creator>Fred</dc:creator>
		<pubDate>Mon, 16 Apr 2007 09:02:03 +0000</pubDate>
		<guid isPermaLink="false">http://www.xorax.info/blog/programmation/55-javascript-eval-global.html#comment-9674</guid>
		<description>Hello à tous
je pose un probleme qui je ne vais pas encore croisé par la.
Je veux utiliser un effet drag and drop dans mes fichiers retournées par ajax.
J'utilise une application qui doit executer du cide javascript au retour des données envoyées par ajax. La méthode Xorax est niquel mais un probleme e pose lors de l'ajout au window.OnLoad . 
En gros les fonctions window.onload = function (){ ..... } ne s'executent pas .....

Un petit peu d'aide ? 

merci bcp</description>
		<content:encoded><![CDATA[<p>Hello à tous<br />
je pose un probleme qui je ne vais pas encore croisé par la.<br />
Je veux utiliser un effet drag and drop dans mes fichiers retournées par ajax.<br />
J&#8217;utilise une application qui doit executer du cide javascript au retour des données envoyées par ajax. La méthode Xorax est niquel mais un probleme e pose lors de l&#8217;ajout au window.OnLoad .<br />
En gros les fonctions window.onload = function (){ &#8230;.. } ne s&#8217;executent pas &#8230;..</p>
<p>Un petit peu d&#8217;aide ? </p>
<p>merci bcp</p>
]]></content:encoded>
	</item>
	<item>
		<title>Par : javascript eval global final</title>
		<link>http://www.xorax.info/blog/programmation/55-javascript-eval-global.html#comment-9507</link>
		<dc:creator>javascript eval global final</dc:creator>
		<pubDate>Wed, 11 Apr 2007 15:16:19 +0000</pubDate>
		<guid isPermaLink="false">http://www.xorax.info/blog/programmation/55-javascript-eval-global.html#comment-9507</guid>
		<description>[...] Historique : eval global partie 2, eval global [...]</description>
		<content:encoded><![CDATA[<p>[&#8230;] Historique : eval global partie 2, eval global [&#8230;]</p>
]]></content:encoded>
	</item>
	<item>
		<title>Par : XoraX</title>
		<link>http://www.xorax.info/blog/programmation/55-javascript-eval-global.html#comment-8334</link>
		<dc:creator>XoraX</dc:creator>
		<pubDate>Tue, 27 Feb 2007 11:16:50 +0000</pubDate>
		<guid isPermaLink="false">http://www.xorax.info/blog/programmation/55-javascript-eval-global.html#comment-8334</guid>
		<description>bonne méthode au fait kankrelune
j'avais testé une fois mais j'avais surement du faire une erreur parce que ça foirait :)
thanks!</description>
		<content:encoded><![CDATA[<p>bonne méthode au fait kankrelune<br />
j&#8217;avais testé une fois mais j&#8217;avais surement du faire une erreur parce que ça foirait <img src='http://www.xorax.info/blog/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /><br />
thanks!</p>
]]></content:encoded>
	</item>
	<item>
		<title>Par : javascript eval global : part 2</title>
		<link>http://www.xorax.info/blog/programmation/55-javascript-eval-global.html#comment-8333</link>
		<dc:creator>javascript eval global : part 2</dc:creator>
		<pubDate>Tue, 27 Feb 2007 11:04:41 +0000</pubDate>
		<guid isPermaLink="false">http://www.xorax.info/blog/programmation/55-javascript-eval-global.html#comment-8333</guid>
		<description>[...] Après une première approche non sans faille de l&#8217;évaluation d&#8217;un code javascript dans un contexte global , voici la seconde version, compatible FireFox et IE et tout les navigateurs dérivés.  Code (javascript) [...]</description>
		<content:encoded><![CDATA[<p>[&#8230;] Après une première approche non sans faille de l&#8217;évaluation d&#8217;un code javascript dans un contexte global , voici la seconde version, compatible FireFox et IE et tout les navigateurs dérivés.  Code (javascript) [&#8230;]</p>
]]></content:encoded>
	</item>
	<item>
		<title>Par : kankrelune</title>
		<link>http://www.xorax.info/blog/programmation/55-javascript-eval-global.html#comment-8267</link>
		<dc:creator>kankrelune</dc:creator>
		<pubDate>Fri, 23 Feb 2007 12:37:49 +0000</pubDate>
		<guid isPermaLink="false">http://www.xorax.info/blog/programmation/55-javascript-eval-global.html#comment-8267</guid>
		<description>Moi je fais légèrement différament... je déclare mes fonctions dans un fichiers js ce dernier étant inclu dans le code html renvoyé par le raquette XMLHttpRequest... ensuite il me suffit de faire... .. .

&lt;pre lang="javascript"&gt;
var includedModulesJs = new Array;

function includeJs(src) 
{  
	if(!includedModulesJs[src])
	{
		var s = document.createElement("script"); 
		s.src = src; 
		head = document.getElementsByTagName('head')[0]; 
		head.appendChild(s); 
		includedModulesJs[src] = true;
	}
}

function setInnerContents(targetObj, contents)
{
	targetObj.innerHTML = contents;

	var allJs = targetObj.getElementsByTagName(”script”);

	for(var i=0; i &lt; allJs.length; i++)
	{
		if(allJs[i].src &#038;&#038; allJs[i].src != “”)
		includeJs(allJs[i].src);
		else
		window.eval(allJs[i].innerHTML);
	}
}
&lt;/pre&gt;
ensuite il suffit de faire par exemple…
&lt;pre lang="javascript"&gt;setInnerContents(document.getElementById(”maDiv”), ajaxObject.responseText);&lt;/pre&gt;

;o)

@ tchaOo°</description>
		<content:encoded><![CDATA[<p>Moi je fais légèrement différament&#8230; je déclare mes fonctions dans un fichiers js ce dernier étant inclu dans le code html renvoyé par le raquette XMLHttpRequest&#8230; ensuite il me suffit de faire&#8230; .. .</p>
<pre lang="javascript">
var includedModulesJs = new Array;

function includeJs(src)
{
	if(!includedModulesJs[src])
	{
		var s = document.createElement("script");
		s.src = src;
		head = document.getElementsByTagName('head')[0];
		head.appendChild(s);
		includedModulesJs[src] = true;
	}
}

function setInnerContents(targetObj, contents)
{
	targetObj.innerHTML = contents;

	var allJs = targetObj.getElementsByTagName(”script”);

	for(var i=0; i < allJs.length; i++)
	{
		if(allJs[i].src &#038;&#038; allJs[i].src != “”)
		includeJs(allJs[i].src);
		else
		window.eval(allJs[i].innerHTML);
	}
}
</pre>
<p>ensuite il suffit de faire par exemple…
</pre>
<pre lang="javascript">setInnerContents(document.getElementById(”maDiv”), ajaxObject.responseText);</pre>
<p>;o)</p>
<p>@ tchaOo°</p>
]]></content:encoded>
	</item>
	<item>
		<title>Par : ZeLegolas</title>
		<link>http://www.xorax.info/blog/programmation/55-javascript-eval-global.html#comment-8249</link>
		<dc:creator>ZeLegolas</dc:creator>
		<pubDate>Thu, 22 Feb 2007 18:42:00 +0000</pubDate>
		<guid isPermaLink="false">http://www.xorax.info/blog/programmation/55-javascript-eval-global.html#comment-8249</guid>
		<description>En remplacant : 

function myeval(){
  eval(‘function test(){alert(’test ok‘);}’);
  alert(typeof(test)); //affiche function
  test(); // affiche ‘test ok’
}

par

myeval = function(){
  eval(‘function test(){alert(’test ok‘);}’);
  alert(typeof(test)); //affiche function
  test(); // affiche ‘test ok’
}

ca a marche pour moi</description>
		<content:encoded><![CDATA[<p>En remplacant : </p>
<p>function myeval(){<br />
  eval(‘function test(){alert(’test ok‘);}’);<br />
  alert(typeof(test)); //affiche function<br />
  test(); // affiche ‘test ok’<br />
}</p>
<p>par</p>
<p>myeval = function(){<br />
  eval(‘function test(){alert(’test ok‘);}’);<br />
  alert(typeof(test)); //affiche function<br />
  test(); // affiche ‘test ok’<br />
}</p>
<p>ca a marche pour moi</p>
]]></content:encoded>
	</item>
	<item>
		<title>Par : belette</title>
		<link>http://www.xorax.info/blog/programmation/55-javascript-eval-global.html#comment-7806</link>
		<dc:creator>belette</dc:creator>
		<pubDate>Fri, 19 Jan 2007 08:50:59 +0000</pubDate>
		<guid isPermaLink="false">http://www.xorax.info/blog/programmation/55-javascript-eval-global.html#comment-7806</guid>
		<description>Salut,
Je viens de faire quelques tests de compatibilités avec quelques navigo.
Il semblerait qu'Opéra n'aime pas trop les :

   document.getElementById(div_to_load).innerHTML=obj.responseText;
   y_exec_scripts(document.getElementById(div_to_load));

(y_exec_scripts étant la fonction d'éxec du js.)

En revanche, il semble bien apprécier :

   document.getElementById(div_to_load).innerHTML='';
   var ndiv = document.createElement('div');
   ndiv.innerHTML=obj.responseText;						 
   document.getElementById(div_to_load).appendChild(ndiv);

A priori les navigateurs, éxécute par eux meme le js du innerHTML lors de l'appendChild, c'est assez étonnant... Firefox le fait trés bien, IE un peu moins... donc pour Opéra pas besoin a priori d'évaluer le js par la suite.
En ce qui concerne netscape, la première méthode de xorax fonctionne bien, mais j'ai constaté un bug bizzare déformant les pages si on a des inclusions de fichiers js en milieu de page, en la mettant à la fin du code, le problème disparait...

Je continue de tester cela et vous tiens informer</description>
		<content:encoded><![CDATA[<p>Salut,<br />
Je viens de faire quelques tests de compatibilités avec quelques navigo.<br />
Il semblerait qu&#8217;Opéra n&#8217;aime pas trop les :</p>
<p>   document.getElementById(div_to_load).innerHTML=obj.responseText;<br />
   y_exec_scripts(document.getElementById(div_to_load));</p>
<p>(y_exec_scripts étant la fonction d&#8217;éxec du js.)</p>
<p>En revanche, il semble bien apprécier :</p>
<p>   document.getElementById(div_to_load).innerHTML=&#8221;;<br />
   var ndiv = document.createElement(&#8217;div&#8217;);<br />
   ndiv.innerHTML=obj.responseText;<br />
   document.getElementById(div_to_load).appendChild(ndiv);</p>
<p>A priori les navigateurs, éxécute par eux meme le js du innerHTML lors de l&#8217;appendChild, c&#8217;est assez étonnant&#8230; Firefox le fait trés bien, IE un peu moins&#8230; donc pour Opéra pas besoin a priori d&#8217;évaluer le js par la suite.<br />
En ce qui concerne netscape, la première méthode de xorax fonctionne bien, mais j&#8217;ai constaté un bug bizzare déformant les pages si on a des inclusions de fichiers js en milieu de page, en la mettant à la fin du code, le problème disparait&#8230;</p>
<p>Je continue de tester cela et vous tiens informer</p>
]]></content:encoded>
	</item>
	<item>
		<title>Par : XoraX</title>
		<link>http://www.xorax.info/blog/programmation/55-javascript-eval-global.html#comment-7805</link>
		<dc:creator>XoraX</dc:creator>
		<pubDate>Wed, 17 Jan 2007 21:00:11 +0000</pubDate>
		<guid isPermaLink="false">http://www.xorax.info/blog/programmation/55-javascript-eval-global.html#comment-7805</guid>
		<description>bon apparement IE 6 c'est de la belle daube... mais ça c'est pas nouveau :)

en gros il gère mal les déclaration de variable avec "var" devant. pour reprendre ton exemple il faudrais faire :

echo ” script titi=’my name is titi’; alert(titi); /script “;
echo ‘ a href=”#” onClick=”alert(titi);” afficher titi /a ‘;

bref on est contraint de ne pas respecter le W3C. Heureusement, une déclaration comme ça ne pose pas de problème sur les autres navigateurs qui sont beaucoup plus indulgent voir même intelligent.

Merci d'avoir fais remarqué ça je crois que j'aurais eu des problème par la suite...</description>
		<content:encoded><![CDATA[<p>bon apparement IE 6 c&#8217;est de la belle daube&#8230; mais ça c&#8217;est pas nouveau <img src='http://www.xorax.info/blog/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>en gros il gère mal les déclaration de variable avec &#8220;var&#8221; devant. pour reprendre ton exemple il faudrais faire :</p>
<p>echo ” script titi=’my name is titi’; alert(titi); /script “;<br />
echo ‘ a href=”#” onClick=”alert(titi);” afficher titi /a ‘;</p>
<p>bref on est contraint de ne pas respecter le W3C. Heureusement, une déclaration comme ça ne pose pas de problème sur les autres navigateurs qui sont beaucoup plus indulgent voir même intelligent.</p>
<p>Merci d&#8217;avoir fais remarqué ça je crois que j&#8217;aurais eu des problème par la suite&#8230;</p>
]]></content:encoded>
	</item>
	<item>
		<title>Par : belette</title>
		<link>http://www.xorax.info/blog/programmation/55-javascript-eval-global.html#comment-7803</link>
		<dc:creator>belette</dc:creator>
		<pubDate>Wed, 17 Jan 2007 19:58:25 +0000</pubDate>
		<guid isPermaLink="false">http://www.xorax.info/blog/programmation/55-javascript-eval-global.html#comment-7803</guid>
		<description>Il fallait lire :
	echo " script  var titi='my name is titi';    alert(titi);     /script ";
	echo ' a href="#" onClick="alert(titi);"    afficher titi     /a ';</description>
		<content:encoded><![CDATA[<p>Il fallait lire :<br />
	echo &#8221; script  var titi=&#8217;my name is titi&#8217;;    alert(titi);     /script &#8220;;<br />
	echo &#8216; a href=&#8221;#&#8221; onClick=&#8221;alert(titi);&#8221;    afficher titi     /a &#8216;;</p>
]]></content:encoded>
	</item>
</channel>
</rss>
