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 :

R�cup�rer code HTML en JS.


Sujet :

JavaScript

Vue hybride

Message pr�c�dent Message pr�c�dent   Message suivant Message suivant
  1. #1
    Membre � l'essai
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    4
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2005
    Messages : 4
    Par d�faut R�cup�rer code HTML en JS.
    Bonjour.
    Je d�sirerai r�cup�rer tout le code HTML d"une page en cours et le mettre dans une variable de type texte afin plus tard d'en extraire des parties, le tout en Javascript.
    J'ai bien essay� avec innerHTML mais je n'arrive � rien.
    Des id�es?
    Merci.

  2. #2
    Expert confirm�
    Avatar de Auteur
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    7 660
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 7 660
    Par d�faut
    bonjour,

    ce bout de code r�cupere tout ce qui entre les balises body (balises et texte) :

    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
     
    <html>
    <head>
    <title></title>
     
    <script type="text/javascript">
    <!--
    function RecupereContenu()
    {
     alert(document.body.innerHTML);
    }
     
    //-->
    </script>
     
    </head>
     
    <body onload="RecupereContenu()">
    <p> Paragraphe 1</p>
    <p> Paragraphe 2</p>
    <p> Paragraphe 3</p>
    <p> Paragraphe 4</p>
     
    </body>
     
    </html>

  3. #3
    Membre � l'essai
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    4
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2005
    Messages : 4
    Par d�faut
    Citation Envoy� par Auteur
    bonjour,

    ce bout de code r�cupere tout ce qui entre les balises body (balises et texte) :

    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
     
    <html>
    <head>
    <title></title>
     
    <script type="text/javascript">
    <!--
    function RecupereContenu()
    {
     alert(document.body.innerHTML);
    }
     
    //-->
    </script>
     
    </head>
     
    <body onload="RecupereContenu()">
    <p> Paragraphe 1</p>
    <p> Paragraphe 2</p>
    <p> Paragraphe 3</p>
    <p> Paragraphe 4</p>
     
    </body>
     
    </html>
    Merci, mais est il possible de r�cup�rer le texte dans une variable?
    Et je voudrai en plus ne pas avoir � toucher � la balise body.
    Ce code peut il s'ex�cuter tout seul apr�s ou avant les balises Body?

  4. #4
    Expert confirm�

    Avatar de denisC
    Profil pro
    D�veloppeur Java
    Inscrit en
    F�vrier 2005
    Messages
    4 050
    D�tails du profil
    Informations personnelles :
    �ge : 45
    Localisation : Canada

    Informations professionnelles :
    Activit� : D�veloppeur Java
    Secteur : Service public

    Informations forums :
    Inscription : F�vrier 2005
    Messages : 4 050
    Par d�faut
    Citation Envoy� par Kernel_Panic
    Merci, mais est il possible de r�cup�rer le texte dans une variable?
    variable=.....

    Citation Envoy� par Kernel_Panic
    Et je voudrai en plus ne pas avoir � toucher � la balise body.
    Ce code peut il s'ex�cuter tout seul apr�s ou avant les balises Body?
    Avant, �a me parait dur... Apr�s pas de probl�mes.

    Sinon, addEventListener/attachEvent.

  5. #5
    Membre � l'essai
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    4
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2005
    Messages : 4
    Par d�faut
    Citation Envoy� par denisC
    Citation Envoy� par Kernel_Panic
    Merci, mais est il possible de r�cup�rer le texte dans une variable?
    variable=.....

    Citation Envoy� par Kernel_Panic
    Et je voudrai en plus ne pas avoir � toucher � la balise body.
    Ce code peut il s'ex�cuter tout seul apr�s ou avant les balises Body?
    Avant, �a me parait dur... Apr�s pas de probl�mes.

    Sinon, addEventListener/attachEvent.
    Impec
    Ca marche nickel.
    Merci beaucoup pour vos conseils aussi avis�s que rapides.

  6. #6
    Invit�
    Invit�(e)
    Par d�faut
    Bonjour,

    Ce code m'int�resse grandement �galement, mais j'ai bien peur de ne pas avoir tout compris.

    Le script qui ouvre le code source dans un alert marche.

    Mais comment faire pour afficher le code html de la page dans la page, pour ensuite le r�cup�rer en copier/coller?

    Merci d'avance

    ++

  7. #7
    Expert confirm�
    Avatar de Auteur
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    7 660
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 7 660
    Par d�faut
    bonjour,

    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
     
    <html>
    <head>
    <title></title>
     
    <script type="text/javascript">
    <!--
    function GetTexte()
    {
     var texte = document.body.innerHTML;
     var i, txt="";
     
     alert(texte);
     
     for (i=0; i<texte.length;i++)
     {
      if (texte.charAt(i)=="<" || texte.charAt(i)==">")
      {
       if (texte.charAt(i)=="<")
         txt = txt + "&lt;";
       if (texte.charAt(i)==">")
         txt = txt + "&gt;";
      }
      else
       txt = txt + texte.charAt(i).toLowerCase();
     }
     document.getElementById("idDiv").innerHTML = "Code HTML&nbsp;:<br>"+txt;
    }
     
    function PressePapiers()
    {
     var envoi, data, txt;
     txt = document.getElementById("idDiv").innerHTML;
     
     envoi = window.clipboardData.setData("Text",txt);
     if (envoi)
        alert("Données envoyées dans le presse-papiers");
     else
         alert("Erreur");
     
     data = window.clipboardData.getData("Text");
     alert("Contenu du Presse-Papiers :\n\n"+data);
    }
     
    //-->
    </script>
     
    </head>
     
    <body onload="GetTexte()">
    <p>paragraphe 1 <span style="background-color: #A1B2C3">suite du paragraphe</span></p>
    <p>paragraphe 2</p>
    <p>paragraphe 3</p>
    <input type="button" value="Presse Papiers" id="BNom" onclick="PressePapiers();">
     
    <div id="idDiv">&nbsp;</div>
     
    </body>
     
    </html>
    la fonction getText permet de r�cup�rer le code HTMl de la page : il est ensuite afficher dans la boite de dialogue alert(texte).
    Le probl�me est d'afficher le texte dans la page : si je fais directement innerHTML = texte, les balises HTML contenues dans la variables seront interpr�t�es par le navigateur. Pour �viter cela, je lis chaque caract�re (charAt) contenu dans texte gr�ce � la boucle for(). Et losrque je d�tecte un "<" (d�but de la balise) ou un ">" (fin de balise), je le remplace par son code (cf. condition if). J'affiche ensuite le r�sulat du "scan" dans la balise div d�di�e � �a.

    La fonction PressePapier() permet de r�cup�rer tout ce qui est entre les balises div et de le copier dans le presse-papiers (setData). Je r�cup�re ensuite le contenu du Presse-Papiers (getData) que j'affiche gr�ce � la fonction alert().
    Les fonctions du presse-papiers ne fonctionnent que sous IE. Je n'ai encore rien trouv� de similaire pour FireFox par exemple.

+ R�pondre � la discussion
Cette discussion est r�solue.

Discussions similaires

  1. r�cup�rer code html
    Par boboss123 dans le forum jQuery
    R�ponses: 28
    Dernier message: 02/02/2011, 17h06
  2. R�cup�rer code html page web
    Par saturn1 dans le forum G�n�ral Java
    R�ponses: 12
    Dernier message: 13/07/2009, 19h26
  3. r�cup�rer code html avec API mozilla (ou gecko)
    Par samitriani dans le forum G�n�ral Conception Web
    R�ponses: 0
    Dernier message: 12/12/2008, 15h45
  4. R�cup�rer code html g�n�r� par une jsp
    Par axel119 dans le forum Servlets/JSP
    R�ponses: 1
    Dernier message: 11/09/2007, 16h17
  5. [MySQL] R�cup�rer Code HTML g�n�r� par PHP
    Par @ngelofdeath dans le forum PHP & Base de donn�es
    R�ponses: 4
    Dernier message: 26/04/2006, 21h51

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