Lire ligne formattée(html) et l'afficher [Résolu]

Signaler
Messages postés
243
Date d'inscription
mercredi 22 janvier 2003
Statut
Membre
Dernière intervention
28 décembre 2008
-
Messages postés
243
Date d'inscription
mercredi 22 janvier 2003
Statut
Membre
Dernière intervention
28 décembre 2008
-
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

Messages postés
243
Date d'inscription
mercredi 22 janvier 2003
Statut
Membre
Dernière intervention
28 décembre 2008

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();
  }
Messages postés
414
Date d'inscription
lundi 19 juillet 2004
Statut
Membre
Dernière intervention
23 septembre 2014

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.
Messages postés
243
Date d'inscription
mercredi 22 janvier 2003
Statut
Membre
Dernière intervention
28 décembre 2008

les deux fichiers son sur la machine client. je ne fait rien avec le serveur
tout ce fait en local
Messages postés
414
Date d'inscription
lundi 19 juillet 2004
Statut
Membre
Dernière intervention
23 septembre 2014

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.
Messages postés
13616
Date d'inscription
jeudi 13 février 2003
Statut
Membre
Dernière intervention
15 octobre 2013
32
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 />
Messages postés
13616
Date d'inscription
jeudi 13 février 2003
Statut
Membre
Dernière intervention
15 octobre 2013
32
>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 />
Messages postés
414
Date d'inscription
lundi 19 juillet 2004
Statut
Membre
Dernière intervention
23 septembre 2014

J'ai pas dû comprendre alors... Il ajoute quoi?
Messages postés
243
Date d'inscription
mercredi 22 janvier 2003
Statut
Membre
Dernière intervention
28 décembre 2008

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
Messages postés
414
Date d'inscription
lundi 19 juillet 2004
Statut
Membre
Dernière intervention
23 septembre 2014

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)
Messages postés
13616
Date d'inscription
jeudi 13 février 2003
Statut
Membre
Dernière intervention
15 octobre 2013
32
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 />
Messages postés
246
Date d'inscription
vendredi 24 novembre 2006
Statut
Membre
Dernière intervention
21 décembre 2007
2
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>
Messages postés
246
Date d'inscription
vendredi 24 novembre 2006
Statut
Membre
Dernière intervention
21 décembre 2007
2
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()">
Messages postés
414
Date d'inscription
lundi 19 juillet 2004
Statut
Membre
Dernière intervention
23 septembre 2014

Bien vu C'est en effet une solution intéressante
Messages postés
243
Date d'inscription
mercredi 22 janvier 2003
Statut
Membre
Dernière intervention
28 décembre 2008

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.
Messages postés
246
Date d'inscription
vendredi 24 novembre 2006
Statut
Membre
Dernière intervention
21 décembre 2007
2
Salut
quel reste?
Messages postés
243
Date d'inscription
mercredi 22 janvier 2003
Statut
Membre
Dernière intervention
28 décembre 2008

ca:


<textareaCOLS="70" ROWS="40" id="text"></textarea>
Messages postés
246
Date d'inscription
vendredi 24 novembre 2006
Statut
Membre
Dernière intervention
21 décembre 2007
2
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
Messages postés
246
Date d'inscription
vendredi 24 novembre 2006
Statut
Membre
Dernière intervention
21 décembre 2007
2
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>
Messages postés
246
Date d'inscription
vendredi 24 novembre 2006
Statut
Membre
Dernière intervention
21 décembre 2007
2
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>
Messages postés
243
Date d'inscription
mercredi 22 janvier 2003
Statut
Membre
Dernière intervention
28 décembre 2008

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