javascript eval global : part 2
mardi 27 février 2007Après une première approche non sans faille de l’évaluation d’un code javascript dans un contexte global , voici la seconde version, compatible FireFox et IE et tout les navigateurs dérivés.
Et oui il fallait savoir que le navigateur de l’homme le plus riche du monde implémente une méthode : window.execScript inconnu des standards.
Cette méthode n’est pas compatible avec Safari. Je travaille encore dessus mais il semble que KHTML (le moteur de base de Safari et de Konqueror) soit allergique à une déclaration propre…
La méthode utilisé par les framework tel que prototype semble être celle qui donne le meilleur résultat. Il s’agit de la méthode setTimeout(code,0) seulement les variables évaluées ne sont disponibles que dans un prochain appel non inline (provoquer par un évênement ou bien un autre appel avec setTimeout).
J’ai déjà passer beaucoup de temps dessus sans succès… De plus pour tester les résultat j’utlise Swift qui implémente le même moteur que Safari (WebKit) et on ne peut pas dire que ce soit une lumière… normal c’est un safari 🙂
Il y aura donc surement une troisième partie, entièrement compatible cette fois.
mise à jour : Et la voilà, code final pour un eval javascript propre