11-06-2010, 07:52 PM
(11-06-2010, 07:38 PM)jo_link_noir a écrit :(11-06-2010, 11:02 AM)Sephi-Chan a écrit : Ensuite, tout ça se fait très facilement avec des librairies (et ne devrait pas être fait autrement à moins d'avoir une très solide maîtrise de Javascript pour écrire soit-même un parser fiable)
Écrire un parseur ? Je comprend pas pourquoi tu dis ça en fait :heuuu:
Et bien, il a du texte qui s'avère être du Javascript qu'il souhaite faire interpréter.
Si on regarde un peu le code source de jQuery, on peut voir qu'ils n'utilisent jamais eval() mais une méthode globalEval() :
// Evalulates a script in a global context
globalEval: function( data ) {
if ( data && rnotwhite.test(data) ) {
// Inspired by code by Andrea Giammarchi
// http:/webreflection.blogspot.com/2007/08/global-scope-evaluation-and-dom.html
var head = document.getElementsByTagName("head")[0] || document.documentElement,
script = document.createElement("script");
script.type = "text/javascript";
if ( jQuery.support.scriptEval ) {
script.appendChild( document.createTextNode( data ) );
} else {
script.text = data;
}
// Use insertBefore instead of appendChild to circumvent an IE6 bug.
// This arises when a base node is used (#2709).
head.insertBefore( script, head.firstChild );
head.removeChild( script );
}
}
Ces gourous du Javascript on fait ce choix. Ce n'est pas pour rien.
Sephi-Chan