Je me suis déjà un peu initié à la POO avec des langages plus évolués mais là j'ai un peu de mal avec javascript...Et avec l'heure qu'il est je ne suis plus trop apte à réfléchir![]()
Ma classe est un parser XML
Puis vient ensuite la méthode loadXML et là vient le problème ce qui est un peu normale...
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 function xmlParser() { /* je ne sais pas trop quoi mettre dans le constructeur peut être this.xmlDoc = xmlDoc avec xmlDoc en paramètre mais ça ne marche pas non plus */ }
Mon problème c'est qu'ainsi je me retrouve avec une erreur capté par catch
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19 xmlParser.prototype.loadXml = function(file) { /* chargement du fichier XML */ try { // navigateur basé sur Gecko if (document.implementation && document.implementation.createDocument) { this.xmlDoc = document.implementation.createDocument("", "doc", null); this.xmlDoc.onload = function() { this.loaded = true; } this.xmlDoc.load(file); } // il y a d'autres tests pour IE et XMLHTTPRequest mais on va faire court. } catch (e) { alert(e); return false; } return true; }car en fait je n'arrive pas à définir xmlDoc afin de la trimbaler dans toutes les méthodes de la classe...TypeError: xmlDoc has no properties
Par contre si je fais
Je n'ai évidemment pas d'erreur mais ma variable n'est visible que dans la méthode loadXml...
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 var xmlDoc = document.implementation.createDocument("", "doc", null); xmlDoc.onload = function() { this.loaded = true; } xmlDoc.load(file);
En clair, comment puis-je définir proprement xmlDoc (ou toute autre variable) afin de pour l'utiliser dans toutes les méthodes de la classe ??
modéré par denisC : ajout du tag résolu
Partager