IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

JavaScript Discussion :

Equivalent ActiveXObject sous firefox et chrome?


Sujet :

JavaScript

  1. #1
    Nouveau membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2015
    Messages
    80
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2015
    Messages : 80
    Points : 30
    Points
    30
    Par défaut Equivalent ActiveXObject sous firefox et chrome?
    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

  2. #2
    Rédacteur/Modérateur

    Avatar de SpaceFrog
    Homme Profil pro
    Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Inscrit en
    Mars 2002
    Messages
    39 643
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 74
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2002
    Messages : 39 643
    Points : 66 669
    Points
    66 669
    Billets dans le blog
    1
    Par défaut
    js n'a pas vocation pour des raisons de sécurité à accéder au fichiers locaux ...

  3. #3
    Membre expérimenté
    Homme Profil pro
    bricoleur par les mots
    Inscrit en
    Avril 2015
    Messages
    727
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 79
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations professionnelles :
    Activité : bricoleur par les mots
    Secteur : Distribution

    Informations forums :
    Inscription : Avril 2015
    Messages : 727
    Points : 1 632
    Points
    1 632
    Par défaut
    jour

    au mieux tu peut ouvrir le fichier

    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
    <!doctype html>
    <html lang="fr">
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
     <head>
     <style type="text/css">
    	textarea{
        width:50%;
    	height:500px;
    	display:block;
        margin:auto;
    	margin-bottom:15px;
    	border:2px ridge #aaa;
    	border-color:#585858;
        box-shadow: 10px 10px 10px #616161;
        }
    </style>
     <script type="text/javascript">
     
    function charger(e){
     
    	var fichier = e.target.files;
     
    	var dv=document.createElement('textarea');
     
    	var charge=new FileReader();
     
    	charge.readAsText(fichier[0]);
     
    	charge.onloadend = function(e){
    		dv.textContent = e.target.result;
    		document.body.appendChild(dv);
    	}
    }
    </script>
    </head>
    <body>
    <br>
    <input type='file' onchange='charger(event)'>
    <br>
    </body>
    </html>
    pour garder le formatage le fichier doit etre mis dans textarea

  4. #4
    Nouveau membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2015
    Messages
    80
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2015
    Messages : 80
    Points : 30
    Points
    30
    Par défaut
    Il m'est obliger de faire un lecture/écriture dans le fichier. Il n'y a a aucun moyen? Un autre langage peut-être?

  5. #5
    Rédacteur/Modérateur

    Avatar de SpaceFrog
    Homme Profil pro
    Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Inscrit en
    Mars 2002
    Messages
    39 643
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 74
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2002
    Messages : 39 643
    Points : 66 669
    Points
    66 669
    Billets dans le blog
    1
    Par défaut
    Comme sus dit, accéder en lecture / écriture sur un fichier local est une faille de sécurité!
    Obligé ... Je pense qu'il faut revoir ton projet et le technologie envisagée (Stockage coté serveur ...)

    Après il existe des possibilité de stockage de données au niveau du client, comme les cookies ou le localStorage.

    Si tu nous en dis un peu plus sur ton projet on pourra peut être t'aiguiller.

  6. #6
    Membre confirmé
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Février 2008
    Messages
    759
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Février 2008
    Messages : 759
    Points : 574
    Points
    574
    Par défaut
    Bonjour,

    M'intéressant à ce sujet et voyant qu'il n'est pas clos, je me permet de relancer avec des questions suite à cette citation :
    Après il existe des possibilité de stockage de données au niveau du client, comme les cookies ou le localStorage.
    Est-ce qu'il existe un moyen de sauvegarder des données chez le client (dans le navigateur puisque l'écriture est une faille de sécurité) tout en ayant la possibilité de retrouver ces données après extinction de la machine ?

    Depuis le navigateur, l'utilisateur a-t-il le moyen de sauvegarder depuis le menu du navigateur ? Par exemple un enregistrement de page suffirait-il à conserver des données (pourquoi pas dans un hidden textArea) ?

    En fait je viens de faire un essai avec une page html qui ne contient qu'un paragraphe avec "hello world !" (histoire de changer un peu ...) et lorsque j'enregistre la page en format texte depuis firefox, j'obtiens un fichier qui ne contient que le texte mais qui est en . html ... donc je pense que cela est exploitable :

    Qu'en pensez vous ?

    De plus, y a-t-il un moyen de commander la sauvegarde de la page comme le ferait un utilisateur mais en commandant cela en javascript ?

    Merci

  7. #7
    Rédacteur/Modérateur

    Avatar de SpaceFrog
    Homme Profil pro
    Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Inscrit en
    Mars 2002
    Messages
    39 643
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 74
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2002
    Messages : 39 643
    Points : 66 669
    Points
    66 669
    Billets dans le blog
    1
    Par défaut
    Quelle doit être la durée de persistance des données ?
    Quel est le volume des données à stocker?

    Quel est le but ?

    Si le volume est important il faudra stocker coté serveur ...
    Si il y a un volume raisonnable tu peux passer par les cookies ou le localstorage qui sont manipulables en javascript

  8. #8
    Membre confirmé
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Février 2008
    Messages
    759
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Février 2008
    Messages : 759
    Points : 574
    Points
    574
    Par défaut
    Bonjour,

    En fait, je souhaite créer une appli pour les finances d'une asso. Il faut qu'il y ait sauvegarde et lecture des données pour l'échange de celles-ci aux autres membres du bureau. Et il faut que les données soient sauvegardées et récupérables après extinction de l'ordinateur.
    Dans les données, il y a les adhérents, les intervenants et les membres du bureau à sauvegarder, en plus de la finance. Cela représente à peu près 100 personnes.
    Mais je ne veux pas passer par un serveur. Je souhaite créer une appli client lourd mais en javascript et html ...

    Les données des cookies et du local storage sont-ils récupérables après extinction de l'ordinateur ?

    Sinon je passerais par du java SWING ou javaFX.

    Merci pour vos réponses !

  9. #9
    Membre expérimenté
    Homme Profil pro
    bricoleur par les mots
    Inscrit en
    Avril 2015
    Messages
    727
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 79
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations professionnelles :
    Activité : bricoleur par les mots
    Secteur : Distribution

    Informations forums :
    Inscription : Avril 2015
    Messages : 727
    Points : 1 632
    Points
    1 632
    Par défaut
    jour

    avec localstorage on peut tout a fait recuperer les donné apres extinction par contre si quelle qu'un efface les donné du navigateur c'est fini mais on peut aussi envisager de sauvegarder les donnés dans un fichier sans passer par un serveur

  10. #10
    Membre confirmé
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Février 2008
    Messages
    759
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Février 2008
    Messages : 759
    Points : 574
    Points
    574
    Par défaut
    Bonjour et merci pour votre réponse !

    mais on peut aussi envisager de sauvegarder les données dans un fichier sans passer par un serveur
    à quoi pensez-vous ? pouvez-vous en dire plus s'il vous plaît ?

    Merci,

  11. #11
    Membre expérimenté
    Homme Profil pro
    bricoleur par les mots
    Inscrit en
    Avril 2015
    Messages
    727
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 79
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations professionnelles :
    Activité : bricoleur par les mots
    Secteur : Distribution

    Informations forums :
    Inscription : Avril 2015
    Messages : 727
    Points : 1 632
    Points
    1 632
    Par défaut
    on peut transformer des donné texte html svg image d'un canvas chaine de caractère objet json en fichier binaire que l'on appel blob avec la méthode (new blob) ensuite on cree un objet url (createObjectURL(blob)) que l'on vas pouvoir sauvegarder grace a l'attribut download de la balise (a) mais avant d'en arriver la il faut définir le format des donné a telecharge.

Discussions similaires

  1. Réponses: 1
    Dernier message: 30/04/2014, 09h29
  2. Affichage désastreux sous Firefox et Chrome
    Par laurentSc dans le forum Balisage (X)HTML et validation W3C
    Réponses: 8
    Dernier message: 03/04/2013, 21h51
  3. rowspan sous Firefox et Chrome
    Par laurentSc dans le forum Balisage (X)HTML et validation W3C
    Réponses: 18
    Dernier message: 30/03/2013, 11h19
  4. Problème avec colspan sous Firefox et Chrome
    Par Arkante dans le forum Balisage (X)HTML et validation W3C
    Réponses: 2
    Dernier message: 01/11/2010, 14h54
  5. doublon sous IE mais pas sous Firefox ni Chrome
    Par jopich17 dans le forum Requêtes
    Réponses: 1
    Dernier message: 26/11/2008, 11h21

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo