Bonjour,

Je viens tout juste de terminé une partie d'un script JS qui doit:
-Ouvrir un fichier txt
-Lire un fichier txt
-Ouvrir ou créer un fichier GPX (xml)
-Ecrire ce qu'il a lu dans le fichier txt

J'ai malheureusement eu la surprise (une fois terminé) de voir que mon code n'est pas compatbile FF ou Chrome mais uniquement IE... (J'utilise ActiveXObject ).
Ma question est donc la suivante, comment modifier mon code pour que celui-ci soit compatible FireFoxe ou Chrome ou les 2?


Merci d'avance.

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
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
 
alert("ca marche");
// à placer en paramètre de fonction
var s_nomTrajet = "Non du trajet";				
var i_lat = 1;
var i_lon = 2;
var i_type = 3;
var i_1ereColonne = 4;
var i_nbData=2;														//Initialisation du nombre de données /!\ TOUJOURS SUPPERIEUR A 2 (longitude, latitude)
var i_1ereLigne=0;
 
 
 
//Lecture du fichier txt
var p_fileSystem=new ActiveXObject("Scripting.FileSystemObject");	//Declaration de l'objet activeX pour utiliser les fonctions JS
var fichierTXT=p_fileSystem.OpenTextFile("DATA.txt", 1 ,true);		//Ouverture du fichier en mode lecture
var s_donnesLues=fichierTXT.ReadAll();								//Lecture de tout le fichier txt et stockage dans variable
fichierTXT.Close();													// fermeture du fichier (lecture terminée)
 
//Ecriture dans fichier gpx
var p_fileSystem1=new ActiveXObject("Scripting.FileSystemObject");	//Declaration de l'objet activeX pour utiliser les fonctions JS
var fichierGPX=p_fileSystem1.OpenTextFile("DATA2.gpx", 2 ,true);	//Ouverture du fichier en mode écriture
var s_date = new Date();											//Création de l'objet date pour la description
fichierGPX.Write("<?xml version=\"1.0\"?>\r");						//Ecriture de l'entete du fichier GPX
fichierGPX.Write("<gpx>\r");
fichierGPX.Write("\t<metadata>\r");
fichierGPX.Write("\t\t<text>");
fichierGPX.Write(s_date);
fichierGPX.Write("</text>\r");
// à mettre en paramètre
fichierGPX.Write("\t\t<bounds minlat=\"41.536388\" minlon=\"8.787003\" maxlat=\"41.635265\" maxlon=\"8.941197\"/>\r");	//Centralisation de la carte sur la France (Paris)
fichierGPX.Write("\t</metadata>\r");
 
var ts_line=s_donnesLues.split("\r");		//Découpage du fichier par retour a la ligne
 
 
	for(var i_line=i_1ereLigne ; i_line<ts_line.length ; i_line++)
{
	var ts_tab=ts_line[i_line].split("\t");	//Découpage de la ligne par tabulation
		// données GPS - génération des points
	fichierGPX.Write("\t\t\t<wpt lat=\"");
	fichierGPX.Write(ts_tab[i_lat]);
	fichierGPX.Write("\" lon=\"");
	fichierGPX.Write(ts_tab[i_lon]);
	fichierGPX.Write("\">\r");
	fichierGPX.Write("\t\t\t\t<sym>");
	fichierGPX.Write(ts_tab[i_type]);
	fichierGPX.Write("</sym>\r");
 
 
 
	for(var i_tab=i_1ereColonne;i_tab<i_1ereColonne+i_nbData;i_tab++)	//On génère le fichier GPX avec la bonne syntaxe
	{
		fichierGPX.Write("\t\t\t\t<desc>");
		//Ecriture de l'information demandée
		fichierGPX.Write(ts_tab[i_tab]); //fichierGPX.Write(" ");
 
		fichierGPX.Write("</desc>\r");
	}
	fichierGPX.Write("\t\t\t</wpt>\r");
}
 
//Definition d'un trajet
fichierGPX.Write("\t<trk>\r");				//Balise de début d'un trajet
fichierGPX.Write("\t\t<name>");				//Definition du nom du trajet
fichierGPX.Write(s_nomTrajet);
fichierGPX.Write("</name>\r");
fichierGPX.Write("\t\t<trkseg>\r");			//Balise de début du tracé
 
 
 
 
for(var i_line=i_1ereLigne ; i_line<ts_line.length ; i_line++)
{
	var ts_tab=ts_line[i_line].split("\t");	//Découpage de la ligne par tabulation
 
	// données GPS - génération du tracé
	fichierGPX.Write("\t\t\t<trkpt lat=\"");
	fichierGPX.Write(ts_tab[i_lat]);
	fichierGPX.Write("\" lon=\"");
	fichierGPX.Write(ts_tab[i_lon]);
	fichierGPX.Write("\">\r");
 
	for(var i_tab=i_1ereColonne;i_tab<i_1ereColonne+i_nbData;i_tab++)	//On génère le fichier GPX avec la bonne syntaxe
	{
		fichierGPX.Write("\t\t\t\t<desc>");
		//Ecriture de l'information demandée
		fichierGPX.Write(ts_tab[i_tab]); //fichierGPX.Write(" ");
 
		fichierGPX.Write("</desc>\r");
	}
	fichierGPX.Write("\t\t\t</trkpt>\r");
}
 
 
//Ecritude du pied de page du fichier GPX
fichierGPX.Write("\t\t</trkseg>\r");	//Balise de fin du tracé
fichierGPX.Write("\t</trk>\r");	//Balise de fin d'un trajet
fichierGPX.Write("</gpx>");
fichierGPX.Close();					//Fermeture du fichier