Gros bug sur la création d'une class js [Résolu]

Signaler
Messages postés
11
Date d'inscription
samedi 12 mars 2011
Statut
Membre
Dernière intervention
1 septembre 2012
-
Messages postés
14813
Date d'inscription
lundi 11 juillet 2005
Statut
Modérateur
Dernière intervention
29 octobre 2020
-
bonjour a tous

j'ai du mal a comprendre ce qui ce passe et j'orrai grand besoin de vos lumières.
comme vous l'avez surement compris je m’essaye a la construction de class js, mais il m’arrive un truque bizarre.

aven tout voila le code js:

apli =
{

init: function () 
{
addEventSimple(window,'resize',apli.sizeBody);
apli.sizeBody();
},

sizeBody: function ()
{
alert('test');
},
}

function addEventSimple(obj,evt,fn) 
{
if (obj.addEventListener)
obj.addEventListener(evt,fn,false);
else if (obj.attachEvent)
obj.attachEvent('on'+evt,fn);
}


et l'appel du js :



Voila le souci : au chargement de la page tout va bien (le "alert('test')" apparait).
quand je fais passer la fenêtre du navigateur (FF) de plein écran a une fenêtre plus petite tout va bien aussi, mais quand je veux repasser en plein écran ou en modifier la taille, FF devient coléreux et sa fenêtre devient noir.
et là la seul possibilité c'est "F5".

le problème vient visiblement du "window.addEventListener", mais comme l'écran devient noir je ne peu même pas me baser sur les erreurs firebug.

donc si vous avez une idée !!

merci d'avance.

5 réponses

Messages postés
469
Date d'inscription
mercredi 9 janvier 2002
Statut
Membre
Dernière intervention
20 février 2017
5
Bonjour, j'ai comme le vague pressentiment qu'en réalité, le problème est ailleurs...
J'ai tout simplement remplacé le alert (parce que je pense que c'est lui pose soucis par une mise à jour de champ
et là, c'est magique:
<html>
<head>
<script type="text/javascript">
apli =
{

init: function () 
{
addEventSimple(window,'resize',apli.sizeBody);
apli.sizeBody();
},

sizeBody: function ()
{
document.getElementById("debug").innerHTML = new Date() + "- width:"+document.body.offsetWidth + " height:"+document.body.clientHeight;
}
};

function addEventSimple(obj,evt,fn) 
{
if (obj.addEventListener)
obj.addEventListener(evt,fn,false);
else if (obj.attachEvent)
obj.attachEvent('on'+evt,fn);
}

var app;
window.onload= function(){
apli.init();
}


</script>
</head>




</html>


j'ai aussi modifier le body, le onload passe directement via la fonction.
plus les corrections signalée en amont.

[o-_-o]
Messages postés
1769
Date d'inscription
vendredi 9 mai 2008
Statut
Modérateur
Dernière intervention
28 octobre 2020
106
bonjour

et au lieux de mettre windows en mettant document voir document.documentElement
Messages postés
11
Date d'inscription
samedi 12 mars 2011
Statut
Membre
Dernière intervention
1 septembre 2012

merci kazma pour cette réponse.
malheureusement le bug persiste.

il y'a quelqu faute de syntax dans dans la class apli.
le point virgule a été oublié a la fin de la class et une virgule est en top a la fin de la dèrniere méthodes de celle-ci.

mais après corection il y'a toujour le bug.
Messages postés
11
Date d'inscription
samedi 12 mars 2011
Statut
Membre
Dernière intervention
1 septembre 2012

Zobibol> effectivement le problème venait du "alert".
je te remercie pour ces correction.
Messages postés
14813
Date d'inscription
lundi 11 juillet 2005
Statut
Modérateur
Dernière intervention
29 octobre 2020
93
Hello,
Si le problème est résolu, merci de cliquer sur "Réponse Acceptée"


@+
Buno, Admin CS
L'urgent est fait, l'impossible est en cours. Pour les miracles, prévoir un délai...