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 :

Stocker dans un fichier/ou autre sous FF


Sujet :

JavaScript

  1. #1
    Membre confirmé
    Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    Novembre 2007
    Messages
    146
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux

    Informations forums :
    Inscription : Novembre 2007
    Messages : 146
    Par défaut Stocker dans un fichier/ou autre sous FF
    Bonsoir à tous,

    arpès avoir réglé un leger problème de code, ma fonction fonctionne mais n'est pas très utile à l'heure actuel.
    Mon script est un script GreaseMonkey.

    En effet, j'ai besoin de stocker le tableau que j'ai récupéré à l'aide de ma fonction pour que je puisse traité les informations sur la page suivante.
    De préférence j'aimerai que toute mes données soit au final dans un fichier ? mail ? ou autre qui puisse rassemblé toutes les données.

    J'ai en effet 50*6 données sur une page, et j'en ai beaucoup à traiter donc ca m'embêterai que tout soit séparé.
    Une idée ?

    Amicalement


    EDIT : j'ai un code pour enregistrer un fichier mais j'ai des soucis de droits, il rentre le catch(e) :s

    PS: il faut savoir que je suis le seul a pouvoir executer le script JS donc je me "fou" de signer le script, juste donner les droits à moi même puisque c'est moi même qui est codé le truc, je sais que ca fera rien de méchant ^^

    Voici le code :
    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
    var MSIE4 = ((navigator.appName=="Microsoft Internet Explorer") && ( navigator.appVersion.substring(0,1)=="4"));
    
    if (MSIE4) {
    var fso = new ActiveXObject("Scripting.FileSystemObject");
    compatible = "Internet Explorer 4";
    }
    
    /** renvoi true si le navigator est Microsoft Internet Explorer @return {boolean} */
    function isMSIE4() {
    return MSIE4;
    }
    
    var mozex_default_tmpdir = "/tmp"; /* unix */
    var mozex_dir_separator = '/'; /* unix */
    var mozex_os = 'unix'; /* unix */
    if (window.navigator.platform.toLowerCase().indexOf("win") != -1) {
    mozex_default_tmpdir = "C:\\windows\\temp"; /* windows */
    mozex_dir_separator = '\\'; /* windows */
    mozex_os = 'win'; /* windows */
    }
    /** Sauvergarde d'un texte dans un fichier
    @param {string} content Contenus à sauver
    @param {string} filename Chemin du fichier destination (ex: C:\texte.txt), écraser s'il existe
    */
    function saveToFile(content,filename) {
    if (isMSIE4()) {
    saveToFileMSIE(content,filename);
    } else {
    saveToFileMozilla(content,filename);
    }
    }
    /** Sauvergarde, sous IE, d'un texte dans un fichier
    @param {string} content Contenus à sauver
    @param {string} filename Chemin du fichier destination (ex: C:\texte.txt), écraser s'il existe
    */
    function saveToFileMSIE(content,filename) {
    try {
    var ts = fso.CreateTextFile(filename);
    ts.Write(content);
    ts.Close();
    } catch(e) {
    document.write("Exception in saveToFileMSIE");
    }
    }
    /** Sauvergarde, sous Mozilla, d'un texte dans un fichier
    @param {string} content Contenus à sauver
    @param {string} filename Chemin du fichier destination (ex: C:\texte.txt), écraser s'il existe
    */
    function saveToFileMozilla(content,filename) {
    try {
    netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect");
    } catch (e) {
    alert("Permission to save file was denied.");
    }
    var file = Components.classes["@mozilla.org/file/local;1"]
    .createInstance(Components.interfaces.nsILocalFile);
    filename = filename.replace(/\//gi,mozex_dir_separator);
    file.initWithPath( filename );
    if ( file.exists() == false ) {
    file.create( Components.interfaces.nsIFile.NORMAL_FILE_TYPE, 420 );
    }
    var outputStream = Components.classes["@mozilla.org/network/file-output-stream;1"]
    .createInstance( Components.interfaces.nsIFileOutputStream );
    /* Open flags
    define PR_RDONLY 0x01
    define PR_WRONLY 0x02
    define PR_RDWR 0x04
    define PR_CREATE_FILE 0x08
    define PR_APPEND 0x10
    define PR_TRUNCATE 0x20
    define PR_SYNC 0x40
    define PR_EXCL 0x80
    */
    /*
    ** File modes ....
    **
    ** CAVEAT: 'mode' is currently only applicable on UNIX platforms.
    ** The 'mode' argument may be ignored by PR_Open on other platforms.
    **
    ** 00400 Read by owner.
    ** 00200 Write by owner.
    ** 00100 Execute (search if a directory) by owner.
    ** 00040 Read by group.
    ** 00020 Write by group.
    ** 00010 Execute by group.
    ** 00004 Read by others.
    ** 00002 Write by others
    ** 00001 Execute by others.
    **
    */
    outputStream.init( file, 0x04 | 0x08 | 0x20, 420, 0 );
    var result = outputStream.write( content, content.length );
    outputStream.close();
    }

    EDIT 2 :
    > I'm trying to find a way to harvest information from a website and
    > store it to a file on my local hard drive. I have a Javascript
    > program that grabs specific information from a webpage and shows me an
    > alert box with the correct content, but I can't get it saved locally.
    > Is there any way to do this even if it involved enabling a debugging
    > feature or temporarily enabling insecure mode?

    Implement your code as an extension and load it from chrome:. Extension code
    has full privileges.
    Voici ce que je viens de trouver si ca peu aider, j'ai pas très bien compris comment faire avec "chrome"

  2. #2
    Membre confirmé
    Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    Novembre 2007
    Messages
    146
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux

    Informations forums :
    Inscription : Novembre 2007
    Messages : 146
    Par défaut
    Et pourquoi pas utiliser un iframe, qui appel une page d'un serveur PHP/SQL à moi

    Il suffirai juste de transfmettre les données à l'iframe et mon serveur s'occupe de les stocker... non ?

Discussions similaires

  1. Réponses: 5
    Dernier message: 10/10/2008, 20h24
  2. Réponses: 6
    Dernier message: 11/07/2007, 17h30
  3. Faire un host echo dans un fichier en sql sous oracle
    Par NouWaT dans le forum Sql*Plus
    Réponses: 2
    Dernier message: 04/06/2007, 15h32
  4. [HTML] Saisir dans un Form HTML et stocker dans un fichier
    Par optoracle dans le forum Balisage (X)HTML et validation W3C
    Réponses: 3
    Dernier message: 28/02/2007, 08h07

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