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 :

Acceder a l'objet DOM d'un fichier html


Sujet :

JavaScript

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Avril 2010
    Messages
    38
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2010
    Messages : 38
    Points : 43
    Points
    43
    Par défaut Acceder a l'objet DOM d'un fichier html
    Bonjour,

    J'ai créé une extension firefox.
    Et je voudrais accéder à l'objet DOM de plusieurs fichiers qui sont stockés en local.
    Je sais récupérer le contenu d'un fichier dans un string en utilisant la fonction suivante :
    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
     
    	getContents : function (file, charset, maxLength)
    	{
    		var fis = Components.classes["@mozilla.org/network/file-input-stream;1"].createInstance(Components.interfaces.nsIFileInputStream);
    		fis.init(file, 0x01, 0664, 0);
     
    		if (charset){charset = Zotero.CharacterSets.getName(charset);}
    		if (!charset){charset = "UTF-8";}
     
    		const replacementChar = Components.interfaces.nsIConverterInputStream.DEFAULT_REPLACEMENT_CHARACTER;
    		var is = Components.classes["@mozilla.org/intl/converter-input-stream;1"].createInstance(Components.interfaces.nsIConverterInputStream);
    		is.init(fis, charset, 4096, replacementChar);
    		var chars = 4096;
    		var contents = [], str = {};
    		while (is.readString(4096, str) != 0) 
    		{
    			if (maxLength) 
    			{
    				chars += 4096;
    				if (chars >= maxLength) 
    				{
    					Zotero.debug('Stopping at ' + (chars - 4096) + ' characters in File.getContents()');
    					break;
    				}
    			}
    			contents.push(str.value);
    		}
    		is.close();
    		return contents.join('');
    	}
    Mais je n'ai pas trouvé comment accéder à l'élément DOM.

    Merci d'avance !!

  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 640
    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 640
    Points : 66 669
    Points
    66 669
    Billets dans le blog
    1
    Par défaut
    j'aurais tenté le coup avec un documentFragment ou une balise object.

    le tout est de savoir si tu ne vas pas te heurter à une securité crossdomain vu que tu tentes d'acceder à un fichier local

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Avril 2010
    Messages
    38
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2010
    Messages : 38
    Points : 43
    Points
    43
    Par défaut
    Je pense que j'ai trouvé sur ce lien ce qu'il me fallait. https://developer.mozilla.org/en/Cod...ts/HTML_to_DOM.
    Il parle de parser du html en dom.
    Mais je voulais savoir qu'elle méthode était plus adéquate dans mon cas.
    Je souhaite récupérer l'objet DOM en entier donc la 1er méthode ne va pas.

    Ensuite, entre la 2eme et la 3eme méthode, je voulais savoir qu'elle était la méthode la plus rapide car j'ai plusieurs fichiers à parser.

    Ou sinon, il parle aussi si au départ on a une HTML string (ce qui peut etre mon cas en utilisant la fonction que j'ai mis dans mon premier post) de la convertir en data URI et de la charger dans un browser.
    Je sais comment faire pour convertir une HTML string en data URI mais je ne comprends pas comment le charger dans un browser ? En fait je comprends pas trop ce qu'est une data URI ?

  4. #4
    Membre du Club
    Profil pro
    Inscrit en
    Avril 2010
    Messages
    38
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2010
    Messages : 38
    Points : 43
    Points
    43
    Par défaut Acceder a l'objet DOM d'un fichier html
    Bonjour,

    Pour acceder a l'objet DOM, j'ai juste utilisé un element iframe comme le conseil mozilla.

    Merci de m'avoir repondu..

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [DOM] Remplacer un objet DOM par du code HTML brut
    Par FrankOVD dans le forum Général JavaScript
    Réponses: 8
    Dernier message: 27/04/2009, 15h14
  2. [DOM] Génération dynamique fichier xml
    Par Fabouney dans le forum Bibliothèques et frameworks
    Réponses: 3
    Dernier message: 03/10/2005, 09h45
  3. [C#] Accéder à un objet dynamiquement ?
    Par webtheque dans le forum ASP.NET
    Réponses: 10
    Dernier message: 14/04/2005, 15h54
  4. acceder a un objet dans un CPropertySheet
    Par ludoviskm dans le forum MFC
    Réponses: 6
    Dernier message: 21/11/2004, 08h58
  5. XML DOM et gros fichiers
    Par Manu_Just dans le forum APIs
    Réponses: 4
    Dernier message: 28/03/2003, 09h50

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