SAM <stephanemoriaux.NoAdmin@wanadoo.fr.invalid> wrote:
Ne suffit-il pas de se pencher sur le principe-problème des "closures" ?
<http://blogs.developpeur.org/cyril/archive/2007/10/16/prototype
-closure-optimisation-creation-classe-javascript.aspx>
(qui sont un sujet de fuite de mémoire avec IE)
bon j'ai suivi cette page et j'ai créé ma propre page d'essai,
pratiquement du copié/collé excepté la gestion des autres navigateurs
qu'IE7 (pas d'attachEvent) :
seule la fonction de test a été modifiée :
function test(){
var element = document.getElementById("test");
if(element.addEventListener){ // FF Saf and Co
element.addEventListener("onclick", function(){
alert("Clicked: " + this.innerHTML);
}.closure(element));// <=================== ligne 73
}else if(element.attachEvent){ //IE si je ne m'abuse...
element.attachEvent("onclick", function(){
alert("Clicked: " + this.innerHTML);
}.closure(element));
}
}
MAIS FF3RC1 couine :
Erreur : uncaught exception: [Exception... "Not enough arguments"
nsresult: "0x80570001 (NS_ERROR_XPC_NOT_ENOUGH_ARGS)" location: "JS
frame ::
http://127.0.0.1/JS/closure_leak_free.xhtml :: test :: line 73"
data: no]
je n'ai pas encore pigé pourquoi ?
c'est à la page
<
http://thoraval.yvon.free.fr/JS/leak_free_closures.xhtml>
au cas où tu aurais des lumières...
--
Une Bévue