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ération du texte dans un élément html iframe


Sujet :

JavaScript

  1. #1
    Futur Membre du Club
    Homme Profil pro
    Divertissement
    Inscrit en
    Mars 2016
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Divertissement

    Informations forums :
    Inscription : Mars 2016
    Messages : 6
    Points : 7
    Points
    7
    Par défaut Récupération du texte dans un élément html iframe
    Bonjour,

    Voici un sujet sur le champ d'application de la fonction javascript "textContent".
    - Elle est censée permettre la récupération du texte contenu dans un élément HTML et ses descendants.
    - Je tombe cependant, via la lecture d'un ouvrage, sur un cas critique : celui où l'élément html est un iframe :

    1/ Voici l'iframe :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <iframe src="myFile.html" Id="myFrame"> </iframe>
    2/Voici le script utilisant la propriété textContent :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    myDiv = document.getElementById('888');
    myiFrame = document.getElementById('myFrame');
    myBody = myiFrame.contentDocument.body;
    myT = myBody.textContent;
     
    setTimeout(function () {alert('Tintin...')}, 2000);
    setTimeout(function () {alert(myT)}, 2000);
    - La première boîte de dialogue "alert" affiche correctement "tintin..."
    - La seconde devrait afficher le contenu de la variable myT, c'est-à-dire la valeur de la propriété textContent. En fait rien ne s'affiche : la boîte de dialogue est tout simplement vide...

    Je n'ai pas d'explication pour l'instant sur ce comportement inattendu...

    Bien cordialement
    Fichiers attachés Fichiers attachés

  2. #2
    Membre confirmé
    Homme Profil pro
    Analyse système
    Inscrit en
    Mai 2014
    Messages
    388
    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 : 388
    Points : 580
    Points
    580
    Par défaut
    Bonjour,

    Une solution peut-être?

    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
    <!DOCTYPE html>
    <html>
      <head>
        <meta charset="utf-8">
        <script>
          onload=function() {
            myBody = frames[0].document.body;
            myT = myBody.textContent;
            alert(myT);
          };
        </script>
      </head>
      <body>
        <iframe src="myFile.html" id="myFrame"> </iframe>
      </body>
    </html>

  3. #3
    Membre confirmé
    Homme Profil pro
    Analyse système
    Inscrit en
    Mai 2014
    Messages
    388
    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 : 388
    Points : 580
    Points
    580
    Par défaut
    Rebonjour,

    Encore une autre solution, peut-être?
    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
    <!DOCTYPE html>
    <html>
      <head>
        <meta charset="utf-8">
        <script>
          onload=function() {
            myiFrame = document.getElementById('myFrame');
            myBody = myiFrame.contentWindow.document.body;
            myT = myBody.textContent;
            alert(myT);
          };
        </script>
      </head>
      <body>
        <iframe src="myFile.html" id="myFrame"> </iframe>
      </body>
    </html>

Discussions similaires

  1. Problème récupération texte dans des balises HTML
    Par stansoad0108 dans le forum Langage
    Réponses: 20
    Dernier message: 24/06/2008, 15h55
  2. Extraction de texte dans une page HTML
    Par ninox_ dans le forum Général JavaScript
    Réponses: 3
    Dernier message: 02/05/2007, 17h29
  3. Récupérer du texte dans une page HTML
    Par iks22 dans le forum Général JavaScript
    Réponses: 8
    Dernier message: 31/12/2006, 09h10
  4. Taille fixe du texte dans une page HTML
    Par The snail dans le forum Mise en page CSS
    Réponses: 8
    Dernier message: 17/10/2006, 21h37
  5. [JDOM] Récupération du texte d'un élément XML‎
    Par kaninama dans le forum Format d'échange (XML, JSON...)
    Réponses: 2
    Dernier message: 20/05/2006, 11h36

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