web-dev-qa-db-fra.com

Incorporer des fichiers texte au format HTML

Je souhaite afficher le contenu d'un fichier texte dans une page HTML (.rtf, .txt, .log, ...) stockée sur le serveur.

J'ai essayé avec embed mais semble que cela ne fonctionne pas. 

<embed src="/path_to_text_file/text.rtf" width="500" height="300">

Il existe une méthode (ou une balise) "simple" pour le faire ou je devrais rechercher le contenu et l’imprimer avec, par exemple, jQuery?

12
damoiser

En utilisant une fonction $ .ajax () avec une fonction .append () à l'intérieur, vous pouvez facilement récupérer le contenu d'un document texte et l'afficher sur la page. Quelque chose dans le sens de ce que vous voyez ci-dessous. Préformez ceci au chargement de la page pour charger immédiatement le fichier avec le reste de la page.

$.ajax({
        async:false,
        url: 'folder/file.txt',
        dataType: 'text',
        success: function(data) 
        {
        $('element').append(data);
            }
        });

Jouez un peu avec pour obtenir le résultat correct que vous recherchez. Vous pouvez également utiliser PHP, mais à moins que vous ne deviez vraiment analyser les données, PHP est un peu excessif dans cette situation.

7
Keith V

Quelque chose comme ça devrait le faire:

<object data="/path_to_text_file/text.txt" type="text/plain"
width="500" style="height: 300px">
<a href="/path_to_text_file/text.txt">No Support?</a>
</object>
8
JonasT

est seulement pour le contenu du plugin (flash, etc) . Essayez de récupérer du contenu en utilisant ajax, puis écrivez-le avec document.write; .__ ou utilisez la balise include dans un langage de base (PHP, ASP, etc.)

3
zzxx53

REMARQUE: des excuses pour la similitude avec la réponse de Keith V et le fait qu'il a mentionné avoir reçu des demandes - j'ai seulement remarqué son commentaire concernant l'obtention des demandes après avoir posté ma réponse.

Je trouve la structure suivante utile et me permet d’appeler le texte comme une étendue plutôt que de devoir manipuler un objet:

function append_url_content_to_div(url){
  $.get(url, function(returned_data){
    console.dir(returned_data);
    var content = '<span>'+returned_data+'</span>';
    $("#appendee_div").append(content);								
  });
}
append_url_content_to_div("https://dl.dropbox.com/s/euk874r7zd1cx0d/example_text.txt?dl=0"); //note that it has to be "dl." not "www." in dropbox
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div id="appendee_div"></div>

Cela fonctionne pour moi pour le contenu dropbox, mais je ne vois pas pourquoi cela ne fonctionnerait pas pour les fichiers texte accessibles au public. Comme vous pouvez le voir dans le code, vous avez besoin de jQuery.

0
it Haffens