Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
2912 connectés 

  FORUM HardWare.fr
  Programmation
  HTML/CSS

  javascript : lire le contenu d'une page

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

javascript : lire le contenu d'une page

n°1283672
Celiphane
Posté le 14-01-2006 à 18:28:49  profilanswer
 

Bonjour,
 
je vous soumets mon problème : via javascript, je sais lire la valeur d'un élément comme par exemple une zone de texte, mais comment lire le contenu de la page tout simplement ? Hors formulaire donc ? C'est possible ?
 
 
Merci par avance
 
@+
Celiphane

mood
Publicité
Posté le 14-01-2006 à 18:28:49  profilanswer
 

n°1283706
masklinn
í dag viðrar vel til loftárása
Posté le 14-01-2006 à 19:20:17  profilanswer
 

mégné [:petrus dei]


---------------
I mean, true, a cancer will probably destroy its host organism. But what about the cells whose mutations allow them to think outside the box by throwing away the limits imposed by overbearing genetic regulations? Isn't that a good thing?
n°1283726
gatsu35
Blablaté par Harko
Posté le 14-01-2006 à 20:09:05  profilanswer
 

Code :
  1. <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
  2. <html>
  3. <head>
  4. <title></title>
  5. <script type="text/javascript">
  6. function jeuboiboite(){
  7.  var maboite = document.getElementById("boiboite" );
  8.  var boiboitetowrite = document.getElementById("boiboitetowrite" );
  9.  boiboitetowrite.innerHTML = maboite.innerHTML;
  10. }
  11. window.onload = jeuboiboite;
  12. </script>
  13. </head>
  14. <body>
  15. <p id="boiboite">
  16. texte <b>qui</b> va aller d'un bout à l'autre
  17. </p>
  18. <p id="boiboitetowrite">
  19. </p>
  20. </body>
  21. </html>


 

n°1284403
omega2
Posté le 16-01-2006 à 12:39:40  profilanswer
 

Gatsu35 >

Code :
  1. function total(){ return document.InnerHTML}

, ca ferait pas tout aussi bien ce qu'il cherche sans modification de la page html?

n°1284412
masklinn
í dag viðrar vel til loftárása
Posté le 16-01-2006 à 12:46:40  profilanswer
 

omega2 a écrit :

Gatsu35 >

Code :
  1. function total(){ return document.InnerHTML}

, ca ferait pas tout aussi bien ce qu'il cherche sans modification de la page html?


Ca retourne pas le texte de la page, ça retourne tout le code de la page :o


---------------
I mean, true, a cancer will probably destroy its host organism. But what about the cells whose mutations allow them to think outside the box by throwing away the limits imposed by overbearing genetic regulations? Isn't that a good thing?
n°1284419
omega2
Posté le 16-01-2006 à 12:53:31  profilanswer
 

InnerText alors si elle veut vraiment que le texte, mais me semble pas que ca soit compatible firefox 1.0 et alors il faut s'amuser à parcourir toute l'arborescence de la page pour chercher le texte de chacun.
Et si elle veut que le contenu du body, suffit de chercher l'élément dont le type est <body>.
 
Mais bon, pour moi, c'était le code html de la page qu'était demandé et pas juste le texte affiché sans tenir compte de la mise en page.

n°1284462
gatsu35
Blablaté par Harko
Posté le 16-01-2006 à 13:47:39  profilanswer
 

ben oui il suffit aussi de recuperer le ou les childnodes qui compose le texte sous FF mais ca devient reloud :/
 
ou alors recuperer avec innerHTML et utiliser des regexp pour virer les balises.
 
innerText ça n'existe que dans l'esprit de microsoft

n°1284711
Celiphane
Posté le 16-01-2006 à 16:19:36  profilanswer
 

Bonjour,
 
merci de votre aide.
Pour préciser, je recherche en effet à lire tout le code complet ! Pas juste un paragraphe ou un bout de texte quelque part.
 
J'ai donc essayé avec innertext comme conseillé plus haut mais ça ne semble pas fonctionner !
 
Voici ce que j'ai écrit dans mon fichier html :
 
<html>
  <head>
    <script language="javascript">
      function total() {return document.InnerHTML}  
    </script>
  </head>
  <body onload="alert(total())">
  </body>
</html>
 
 
Le message indique juste comme contenu << undefined >> .
Ai-je mal utiliser le code ? Ou bien ne fonctionne-t-il simplement pas ? (ps: testé sous IE et FF)
 
Merci par avance.
 
@+
Celiphane

n°1284722
anapajari
s/travail/glanding on hfr/gs;
Posté le 16-01-2006 à 16:29:41  profilanswer
 

il me semble que document n'a pas de propriété innerHTML et puis de toute façon c'est pas tout le document que tu veux mais juste le body non ( le head tu t'en moques non?) ?
Donc perso je ferais un truc dans le genre:

Code :
  1. function total() {
  2.   for(i=0; i<document.documentElement.childNodes.length; i++){
  3.     if ( document.documentElement.childNodes.item(i).tagName == 'BODY'){
  4.       return document.documentElement.childNodes.item(i).innerHTML;
  5.     }
  6.   }
  7. }


ça doit marcher sur IE & FF...

n°1284734
Celiphane
Posté le 16-01-2006 à 16:48:14  profilanswer
 

Re !
 
Merci pour cette correction. Ca fonctionne en effet niquel pour lire par exemple le BODY.
 
C'est très correct, cela répond donc à ma question.
 
 
Maintenant, si possible, j'aimerai aller plus loin : en supposant que la page que je souhaite lire est mal formatée, par exemple, qu'elle soit exempte de balise BODY (supposons). Mon code devient donc inopérant.
Pour palier à ça, comment faire ? En gros 3 solutions me semblent envisageables :
 
1°) savoir lire hors balise, donc avec une autre technique.
2°) soit user d'un subterfuge consistant à utiliser la méthode write de javascript pour lui faire écrire les balises manquantes. Possible ça ?
3°) en se basant un tantinet sur la 2°, faire écrire à javascript une nouvelle page (je sais qu'on peut par exemple ouvrir un popup entièrement créé par la page appelante) en inscrivant la balise, puis en insérant la page à lire en l'appelant (iframe ou autre je ne sais pas je ne suis pas assez pointue) et enfin en inscrivant la balise de fin.
 
Qu'en pensez-vous ? En effet, souvent, mes scripts seraient amené à lire des pages pas nécessairement html, mais par exemple simplement des TXTs... et là, pas de balise BODY vous me comprenez ?
 
Merci pour votre aide !
 
@+
Celiphane


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  HTML/CSS

  javascript : lire le contenu d'une page

 

Sujets relatifs
Page générée videProblème de mise en page d'un site
lire un texte et en repertorier chaque mot?Lire et Ecrire dans un fichier
excel : fonction pour effacer le contenu d'une celluleouverture page
ouverture page webBalise title d'une page web
[JAVASCRIPT] - Afficher une image aléatoirement sur une page WEB 
Plus de sujets relatifs à : javascript : lire le contenu d'une page


Copyright © 1997-2025 Groupe LDLC (Signaler un contenu illicite / Données personnelles)