|
Publicité | ||||||||||||||||||||||
|
|
#1 |
|
Invité de passage
![]() |
Bonjour,
j'aimerai vous soumettre mon problème au cas où l'un de vous aurait la réponse "miracle". Je suis en train de créer une classe qui permet de manipuler les propriétés CSS de n'importe quelles balises html lorsque celles-ci sont identifiées par une règle dans une feuille de style CSS externe et ceci en javascript. De cette manière, plus aucun code CSS "en ligne" ne traînera dans la page HTML. Comme je refuse de tout mettre dans un seul fichier javascript et que je refuse aussi de mettre des balises <script></script> à tout va pour importer les fichiers JS qui conviennent dans la page HTML, j'ai entrepris de créer une fonction dans la classe principale qui utilisera les autres fichiers qui permet d'insérer directement dans me flux de la page ces balises. J'ai besoin d'initialiser l'objet principal (HTMLElement) car je veux n'avoir à l'instancier qu'une fois. Donc je créé une variable global (pas bien me dirons certains). Mais cette objet a besoin que les autres pages javascript soient chargées. Comme les fichiers chargés dynamiquement ne sont pris en comptes que lorsque le script qui les a chargé a rendu la main, j'ai fait appel à la fonction de chargement des fichier JS en dehors de toutes fonctions, puis dans une fonction appelée sur l'événement onload du body, j'ai fait appel au constructeur de l'objet principal HTMLElement. Je me suis dit que le code en dehors de toutes fonctions étant définit avant tout autre code, une fois chargé par le navigateur sera exécuté avant la fonction appelée sur l'événement onload du body. Il se trouve que pour Firefox et Opéra, cela marche comme je l'avais prévu, mais sous IE, pour que ça marche, je suis obligé de faire afficher un alert() Voici le code dont je parle ci-dessus : Code :
// Variable global de mon objet principal var html_element = null; // Appel de la fonction de chargement dynamique des autres fichier JS // nécessaire au fonctionnement de HTMLElement IncHTMLElement(); //--------- // Curieux // // Sous IE, lorsque je décommente ce code, tout fonctionne bien, la variable // html_element n'est pas nul, si c'est commenté oui // C'est comme s'il fallait qu'il y ait un alert() pour que le code s'exécute 8O //--------- // var test = 'test'; // alert(test); // Fonction appelé lors de l'événement onload du body function InitEnvironment() { html_element = new HTMLElement(); } function ChangeBorderColor(color, ind_ssheet, ind_rule, ssheet, rule) { html_element.SetRuleReference(ind_ssheet, ind_rule); html_element.box_properties.SetBorderColor(color); } Bonne soirée à vous ps : si je n'ai pas été clair sur quoi que ce soit, n'hésitez pas à me demander des précisions merci |
|
|
|
|
|
#2 |
![]() Nom : Emmanuel REMY
Date d'inscription: novembre 2005
Localisation: Grand Perron des Encombres
Âge: 41
Messages: 2 466
|
Salut,
Comment charges tu tes fichiers scripts supplémentaires ? Via Ajax et en insérant une balise script dans le header ? ERE
__________________
Quand une tête pense seule, elle devient folle. |
|
|
|
|
#3 |
|
Invité de passage
![]() |
Bonjour,
Désolé de cette réponse tardive, je pensais recevoir un mail si une réponse avait été donnée, mais apparemment non. En effet, je charge les autres fichier javascript appartement à une même bibliothèque en insérant des balises script dans le header via javascript. De cette manière, l'utilisateur n'a pas à se soucier des autres fichiers autre que le principal pour utiliser la bibliothèque. Mais finalement j'ai résolu le problème. J'ai restructurer le code d'appel, et maintenant cela marche sur Firefox, Opera et IE. Si cela t'intéresses, je peux t'envoyer le dossier de mon projet en cours. C'est un peu brouillon car c'est en développement, mais peut-être auras-tu des conseils à me donner sur la structuration des applications javascript Merci beaucoup, bonne journée |
|
|
|
|
|
#4 | |
![]() Date d'inscription: septembre 2007
Localisation: Madagascar
Messages: 2 014
|
Salut,
Citation:
|
|
|
|
|
|
#5 |
|
Invité de passage
![]() |
Ha merci beaucoup
Je ne suis vraiment pas un habitué des forums |
|
|
|
|
|
![]() |
||
Comportement étrange d'IE sur interprétation code d'initialisation
|
||
| Outils de la discussion | |
|
|