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

Messages postés
11
Date d'inscription
samedi 12 mars 2011
Statut
Membre
Dernière intervention
1 septembre 2012
- - Dernière réponse : BunoCS
Messages postés
14708
Date d'inscription
lundi 11 juillet 2005
Statut
Modérateur
Dernière intervention
16 janvier 2020
- 23 déc. 2011 à 11:10
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.
Afficher la suite 

5 réponses

Meilleure réponse
Messages postés
469
Date d'inscription
mercredi 9 janvier 2002
Statut
Membre
Dernière intervention
20 février 2017
4
3
Merci
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]

Dire « Merci » 3

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources 136 internautes nous ont dit merci ce mois-ci

Commenter la réponse de Zobibol
Messages postés
1743
Date d'inscription
vendredi 9 mai 2008
Statut
Modérateur
Dernière intervention
16 janvier 2020
52
0
Merci
bonjour

et au lieux de mettre windows en mettant document voir document.documentElement
Commenter la réponse de @karamel
Messages postés
11
Date d'inscription
samedi 12 mars 2011
Statut
Membre
Dernière intervention
1 septembre 2012
0
Merci
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.
Commenter la réponse de mistic10
Messages postés
11
Date d'inscription
samedi 12 mars 2011
Statut
Membre
Dernière intervention
1 septembre 2012
0
Merci
Zobibol> effectivement le problème venait du "alert".
je te remercie pour ces correction.
Commenter la réponse de mistic10
Messages postés
14708
Date d'inscription
lundi 11 juillet 2005
Statut
Modérateur
Dernière intervention
16 janvier 2020
90
0
Merci
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...
Commenter la réponse de BunoCS