Lire ligne formattée(html) et l'afficher

Résolu
Bestdoud Messages postés 243 Date d'inscription mercredi 22 janvier 2003 Statut Membre Dernière intervention 28 décembre 2008 - 15 mai 2007 à 15:06
Bestdoud Messages postés 243 Date d'inscription mercredi 22 janvier 2003 Statut Membre Dernière intervention 28 décembre 2008 - 16 mai 2007 à 00:15
Bonjour,

je cherche une fonction qui me retourne la première ligne d'un fichier txt et dont le contenu est formaté en html

ce fichier se trouve au même endroit que la page html

dans la page html j'ai une fonction qui me mermet d'ajouter du texte sur celle-ci:

function ecriture(texte)
  {
 document.body.innerHTML +=texte;
  }

donc en fait je voudrai que dans ma variable texte se trouve la première ligne de mon fichier txt

merci de votre aide

29 réponses

Bestdoud Messages postés 243 Date d'inscription mercredi 22 janvier 2003 Statut Membre Dernière intervention 28 décembre 2008
16 mai 2007 à 00:15
Bon j'ai réussi

le seul truc qui m'embete c'est que ca me demande si je veux autoriser l'activex

Y aurais pas une astuce?

voici la finction final (tu avait raison )

function ecriture()
  {
 var fso = new ActiveXObject("Scripting.FileSystemObject");
 fichier = fso.OpenTextFile("c:\\hh.txt",1);
 var ligne = fichier.ReadLine();
 document.body.innerHTML +='' + ligne + '';
 fichier.Close();
  }
3
cs_ov3rdoze Messages postés 414 Date d'inscription lundi 19 juillet 2004 Statut Membre Dernière intervention 23 septembre 2014
15 mai 2007 à 15:15
Bonjour

Le JS est exécuté sur la machine cliente donc il me semble assez difficile d'aller récupérer un fichier sur le serveur...
Je te conseille de t'orienter plutôt vers un langage serveur (PHP, ASP, etc.)....

Sinon tu peux essayer AJAX (cherche XmlHttpRequest) ça devrait passer aussi.
0
Bestdoud Messages postés 243 Date d'inscription mercredi 22 janvier 2003 Statut Membre Dernière intervention 28 décembre 2008
15 mai 2007 à 15:17
les deux fichiers son sur la machine client. je ne fait rien avec le serveur
tout ce fait en local
0
cs_ov3rdoze Messages postés 414 Date d'inscription lundi 19 juillet 2004 Statut Membre Dernière intervention 23 septembre 2014
15 mai 2007 à 15:24
Le problème est le même : Javascript n'a pas le droit d'accéder directement au système de fichiers (client ou serveur) pour des raisons de sécurité. Même si tout se fait en local, le navigateur est considéré comme un client et de ce fait et ton disque comme un serveur...
Le JS ne peux accéder ni à l'un ni à l'autre, si ce n'est via une requête HTTP (par exemple) qu'il enverra grâce à  un objet XmlHttpRequest.
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
cs_bultez Messages postés 13615 Date d'inscription jeudi 13 février 2003 Statut Membre Dernière intervention 15 octobre 2013 30
15 mai 2007 à 15:25
Bonjour,
    met ce texte dans un textarea par exemple puis
            un substring sur le .value de 0 à indexOf("\r") // ou ("\n") à tester
    tout dépend de comment est "lu" ce fichier txt.
<hr />


Cordialement                Bul     [mon Site]     [M'écrire]



<hr />
0
cs_bultez Messages postés 13615 Date d'inscription jeudi 13 février 2003 Statut Membre Dernière intervention 15 octobre 2013 30
15 mai 2007 à 15:29
>Javascript n'a pas le droit d'accéder directement au système de fichiers

pas tout à fait. mais de toute manière BestDoud doit avoir résolu "ce souci",
    ( qui n'en est pas un ) puisqu'il l'ajoute à son body.



<hr />



Cordialement            Bul     [mon Site]     [M'écrire]



<hr />
0
cs_ov3rdoze Messages postés 414 Date d'inscription lundi 19 juillet 2004 Statut Membre Dernière intervention 23 septembre 2014
15 mai 2007 à 15:31
J'ai pas dû comprendre alors... Il ajoute quoi?
0
Bestdoud Messages postés 243 Date d'inscription mercredi 22 janvier 2003 Statut Membre Dernière intervention 28 décembre 2008
15 mai 2007 à 15:36
en fait j'ai un fichier texte qui est c:\aa.txt
dedans j'ai une phrase du style: ca marche pas
(normalement elle estr formaté avec tous les trucs html)

ensuite avec ma page html, je voudrais aller récupérer cette phrase et l'ajouter sur ma page en direct avec la fonction:
document.body.innerHTML +=texte

et dans la variable texte il y aurait cette phrase
0
cs_ov3rdoze Messages postés 414 Date d'inscription lundi 19 juillet 2004 Statut Membre Dernière intervention 23 septembre 2014
15 mai 2007 à 15:39
Il n'y a pour moi pas d'autre solution que celles que je t'ai proposées, mais je peux me tromper, ça m'arrive (souvent)
0
cs_bultez Messages postés 13615 Date d'inscription jeudi 13 février 2003 Statut Membre Dernière intervention 15 octobre 2013 30
15 mai 2007 à 15:46
ben moi j'avais compris que Bestdoud lisait un fichier texte
    et l'ajoutais à son body ( et si je relis le message original,
    je comprend toujours ça )

    il n'y a pas que FireFox dans la vie, et même avec
       lui, l'utilisation des ActiveX  est possible par exemple,
       même si ce n'est pas la seule manière de charger un
       fichier texte ( la balise object par exemple... et autres !!! )

au vu du dernier message, ce n'est pas le cas...

    pour ce que tu veux faire Bestdoud ( ajouter une phrase ) :
    le chargement d'un fichier xml ( et xsl peut-être associé ).
    il y a des exemples dans les sources de CodesSources
    ( moi-même j'ai mis un exemple )

<hr />


Cordialement            Bul     [mon Site]     [M'écrire]



<hr />
0
yousfane Messages postés 243 Date d'inscription vendredi 24 novembre 2006 Statut Membre Dernière intervention 21 décembre 2007 2
15 mai 2007 à 15:53
Salut
tu peux recuperer ton fichier avec un iframe:

<SCRIPT language= "javascript">
function lire(){
  var lignes = window.frames["ifram"].document.body.innerText
  var lign = lignes.substring(0,lignes.indexOf("\n",0));
  document.getElementById("text").value = lign
}
</SCRIPT>

<textarea COLS ="70" ROWS="40" id="text"></textarea>
0
yousfane Messages postés 243 Date d'inscription vendredi 24 novembre 2006 Statut Membre Dernière intervention 21 décembre 2007 2
15 mai 2007 à 15:59
Salut
tu peux recuperer ton fichier avec un iframe:

<SCRIPT language="javascript">
function 
lire(){
var lignes 
= window.frames["ifram"].document.body.innerText 
var lign = 
lignes.substring(0,lignes.indexOf("\n",0)); 
document.getElementById("text").value = lign 
}
</SCRIPT>
<iframename="ifram" src="texte.txt" style="display : 
none;"></iframe>
<textareaCOLS="70" ROWS="40" id="text"></textarea>
<inputtype="button" value="recuperer" onclick="lire()">
0
cs_ov3rdoze Messages postés 414 Date d'inscription lundi 19 juillet 2004 Statut Membre Dernière intervention 23 septembre 2014
15 mai 2007 à 16:02
Bien vu C'est en effet une solution intéressante
0
Bestdoud Messages postés 243 Date d'inscription mercredi 22 janvier 2003 Statut Membre Dernière intervention 28 décembre 2008
15 mai 2007 à 16:16
je suis une quiche je pense. j'ai mis la fonction lire() avec mes autres fonctions script donc entre <SCRIPT language="javascript"> et </SCRIPT>
j'ai remplacer texte.txt par mon nom de fichier
Le reste je le met ou ?

Si j'appelle la fonction lire() , elle doit me retourner la ligne de texte ?

j'ai oublié de dire que je débutais.
0
yousfane Messages postés 243 Date d'inscription vendredi 24 novembre 2006 Statut Membre Dernière intervention 21 décembre 2007 2
15 mai 2007 à 16:18
Salut
quel reste?
0
Bestdoud Messages postés 243 Date d'inscription mercredi 22 janvier 2003 Statut Membre Dernière intervention 28 décembre 2008
15 mai 2007 à 16:23
ca:


<textareaCOLS="70" ROWS="40" id="text"></textarea>
0
yousfane Messages postés 243 Date d'inscription vendredi 24 novembre 2006 Statut Membre Dernière intervention 21 décembre 2007 2
15 mai 2007 à 16:27
Salut
d'abord je m'excuse voici le code

<SCRIPT language= "javascript">
function lire(){
  var lignes = window.frames["ifram"].document.body.innerText
  var lign = lignes.substring(0,lignes.indexOf("\n",0));
  document.getElementById("text").value = lign
}
</SCRIPT>

<textarea COLS ="70" ROWS="40" id="text"></textarea>

tu le mets ou tu veux dans ta page html
0
yousfane Messages postés 243 Date d'inscription vendredi 24 novembre 2006 Statut Membre Dernière intervention 21 décembre 2007 2
15 mai 2007 à 16:30
Salut
j'ai remarqué que le code que je t'ai donné ne marche pas sous firefox
remplace le par celui ci:

<SCRIPT language= "javascript">
function lire(){
  var lignes = window.frames["ifram"].document.body.innerHTML
  lignes = lignes.replace("","")
  var lign = lignes.substring(0,lignes.indexOf("\n",0));
  document.getElementById("text").value = lign
}
</SCRIPT>

<textarea COLS ="70" ROWS="40" id="text"></textarea>
0
yousfane Messages postés 243 Date d'inscription vendredi 24 novembre 2006 Statut Membre Dernière intervention 21 décembre 2007 2
15 mai 2007 à 16:33
Salut
je m'excuse encore je me precipite beaucoup essai ce code:

<SCRIPT language= "javascript">
function lire(){
  var lignes = window.frames["ifram"].document.body.innerHTML
  lignes = lignes.replace("","")
  lignes = lignes.replace("","");
  var lign = lignes.substring(0,lignes.indexOf("\n",0));
  document.getElementById("text").value = lign
}
</SCRIPT>

<textarea COLS ="70" ROWS="40" id="text"></textarea>
0
Bestdoud Messages postés 243 Date d'inscription mercredi 22 janvier 2003 Statut Membre Dernière intervention 28 décembre 2008
15 mai 2007 à 16:40
J'ai un cadre qui s'affiche et un bouton, jusque la ca marche
mais apres quand j'appuie dessus il se passe rien.
pourtant mon fichier s'appelle pareil
0
Rejoignez-nous