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 :

export valeur d'une variable


Sujet :

JavaScript

  1. #1
    Nouveau candidat au Club
    Homme Profil pro
    technicien
    Inscrit en
    Mars 2017
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Drôme (Rhône Alpes)

    Informations professionnelles :
    Activité : technicien

    Informations forums :
    Inscription : Mars 2017
    Messages : 2
    Par défaut export valeur d'une variable
    Bonjour,

    Je débute en javascript, et j'essaie de mettre en place un petit programme pour faciliter ma vie au boulot.
    En fait je récupère des infos sur page web, à l'aide ' getElementById ', j'attribue le résultat à une variable, que j'affiche dans la console.

    Ma question est la suivante, est il possible d'extraire les valeurs de mes variables dans un fichier .txt par exemple ou excel ?

  2. #2
    Expert confirmé
    Avatar de Watilin
    Homme Profil pro
    En recherche d'emploi
    Inscrit en
    Juin 2010
    Messages
    3 094
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : En recherche d'emploi

    Informations forums :
    Inscription : Juin 2010
    Messages : 3 094
    Par défaut
    Bonsoir,
    par mesure de sécurité, les scripts des pages web n’ont pas accès au système de fichier. Le mieux que tu puisses faire, c’est construire en mémoire un fichier, puis faire apparaître une invitation à l’enregistrer. Un petit exemple :
    Code html : 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
    <!DOCTYPE html>
    <html lang="fr">
    <head>
      <meta charset="utf-8" />
      <title>Enregistrer blob</title>
    </head>
    <body>
     
    <p id="element-vise">Lorem ipsum dolor sic amet…</p>
    <p>
      <button>Enregistrer</button>
    </p>
     
    <script> "use strict";
     
    const elementVise = document.getElementById("element-vise");
     
    document.querySelector("button").addEventListener("click", () => {
      const blob = new Blob([ elementVise.textContent ], { type: "text/plain" });
      const blobUrl = URL.createObjectURL(blob);
     
      const a = document.createElement("a");
      a.href = blobUrl;
      a.download = "un nom de fichier.txt";
     
      document.body.append(a);
      a.click();
      a.remove();
     
      URL.revokeObjectURL(blobUrl);
    });
     
    </script>
    </body>
    </html>
    La FAQ JavaScript – Les cours JavaScript
    Touche F12 = la console → l’outil indispensable pour développer en JavaScript !

  3. #3
    Nouveau candidat au Club
    Homme Profil pro
    technicien
    Inscrit en
    Mars 2017
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Drôme (Rhône Alpes)

    Informations professionnelles :
    Activité : technicien

    Informations forums :
    Inscription : Mars 2017
    Messages : 2
    Par défaut
    Merci de ton aide, je vais essayer de mettre en application tes informations.

  4. #4
    Membre chevronné
    Homme Profil pro
    Analyse système
    Inscrit en
    Mai 2014
    Messages
    392
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Arménie

    Informations professionnelles :
    Activité : Analyse système
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Mai 2014
    Messages : 392
    Par défaut
    Bonjour,

    Watilin a écrit :
    par mesure de sécurité, les scripts des pages web n’ont pas accès au système de fichier
    Watilin, que penses-tu du code ci-dessous? Est-il utilisable ou pas?
    Code html : 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
    <!DOCTYPE html>
    <html>
      <head>
      <meta charset="utf-8">
      <script>
        function lireFichierTexte(fichier) {
          var fichierBrut = new XMLHttpRequest();
          fichierBrut.open("GET", fichier, false);
          fichierBrut.onreadystatechange = function () {
            if (fichierBrut.readyState === 4) {
              if(fichierBrut.status === 200 || fichierBrut.status == 0) {
                var texteComplet = fichierBrut.responseText;
                alert(texteComplet);
              }
            }
          }
          fichierBrut.send(null);
        }
        onload=function() { lireFichierTexte("mon_fichier.txt") };
      </script>
      </head>
      <body></body>
    </html>

  5. #5
    Expert confirmé
    Avatar de Watilin
    Homme Profil pro
    En recherche d'emploi
    Inscrit en
    Juin 2010
    Messages
    3 094
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : En recherche d'emploi

    Informations forums :
    Inscription : Juin 2010
    Messages : 3 094
    Par défaut
    Citation Envoyé par eleydet Voir le message
    Watilin, que penses-tu du code ci-dessous?
    Pas du bien. Il utilise une requête synchrone et c’est beurk. De plus, selon le navigateur, onreadystatechange pourrait ne pas être appelé du tout avec une requête synchrone, donc ce script est bancale pour dire le moins.

    Citation Envoyé par eleydet Voir le message
    Est-il utilisable ou pas?
    Vu qu’on parle de système de fichier, je pense que tu voulais que ta requête aille chercher un fichier local en protocole file:. Par défaut le protocole utilisé est celui de la page. Si la page est accédée en http: ou https: via un serveur local, XMLHttpRequest va demander le fichier au serveur local. Et si la page est accédée directement via file:, là ça dépend des paramètres de sécurité du navigateur. Firefox est connu pour autoriser les requêtes file:, mais pas Chrome par exemple, sauf si tu le lances avec le paramètre (flag) --allow-file-access-from-files.

    Si ton but est de faire un script pour ton propre usage, pas de problème. Mais en production professionnelle, ce n’est pas envisageable.
    La FAQ JavaScript – Les cours JavaScript
    Touche F12 = la console → l’outil indispensable pour développer en JavaScript !

  6. #6
    Membre chevronné
    Homme Profil pro
    Analyse système
    Inscrit en
    Mai 2014
    Messages
    392
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Arménie

    Informations professionnelles :
    Activité : Analyse système
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Mai 2014
    Messages : 392
    Par défaut
    Bonjour,

    Je ne me suis pas encore vraiment penché sur ce problème *, mais le but serait de créer une application web, basée sur un fichier de données, qui fonctionnerait aussi bien en local que sur serveur. Jusqu'à présent, mon fichier de données, enregistré avec l'extention .js, contenait un ensemble de fonctions en JS. La structure du programme serait quelque chose du genre :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    lire_fichier_localement();
    if (fichier_non_lu) lire_fichier_sur_serveur();
    traiter_fichier();
    * En particulier, je n'ai pas étudié les imites du codes que je proposais.

  7. #7
    Expert confirmé
    Avatar de Watilin
    Homme Profil pro
    En recherche d'emploi
    Inscrit en
    Juin 2010
    Messages
    3 094
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : En recherche d'emploi

    Informations forums :
    Inscription : Juin 2010
    Messages : 3 094
    Par défaut
    Pour un stockage côté client il y a IndexedDB.

    Pour faire une application qui supporte le hors-ligne, avant il y avait Application Cache mais ça a été rendu obsolète. Le MDN conseille d’utiliser un Service Worker, mais je ne peux pas en dire grand chose, je ne me suis pas encore penché sur le sujet.
    La FAQ JavaScript – Les cours JavaScript
    Touche F12 = la console → l’outil indispensable pour développer en JavaScript !

Discussions similaires

  1. [XSL] Comment modifier la valeur d'une variable?
    Par sorcer1 dans le forum XSL/XSLT/XPATH
    Réponses: 8
    Dernier message: 17/02/2010, 13h26
  2. récupération d'une valeur dans une variable
    Par jh0483 dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 17/08/2005, 09h49
  3. Réponses: 2
    Dernier message: 16/08/2005, 09h43
  4. afficher dans une boite de dialogue la valeur d'une variable
    Par micknic dans le forum Général JavaScript
    Réponses: 6
    Dernier message: 10/07/2005, 09h25
  5. Intercepter le changement de valeur d'une variable
    Par Captain_JS dans le forum C++Builder
    Réponses: 5
    Dernier message: 07/01/2005, 08h04

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