2017-05-08 192 views
0

JavaScript和CSS的新手,我想知道是否可以从.txt文件提取数据并将其转换为文本并在页面上打印。
我通过一些老话题搜索,并没有发现一些similiar问题,我试图复制,但没有奏效hahha
这是我做的尝试:将txt文件数据转换为html文本

HTML:

<div id="printed"></div> 

脚本:

var text_print = new XMLHttpRequest(); 
     text_print.open("GET", "folder/file.txt", true); 
     text_print.send(); 
     text_print.onload = function(){ 
      console.log(text_print.responseText.slice(0, text_print.responseText.indexOf("\n"))); }; 

    document.getElementById("printed").innerHTML=text_print; 

.txt文件只有一行文字,顺便说一句。
谢谢。

+1

交换'send'行和'onload'之一,以确保事件监听器在响应返回时已准备好(尤其是在本地工作时)。然后,在你的'onload'函数中插入最后一行('innerHTML')。因为响应仅在那里可用。另外,不要将它设置为'text_print',而是'text_print.responseText.slice ...',因为那是你想在那里显示的内容。此外,请确保您正在使用服务器(http或https协议,而不是'file:///'),并且这两个文件(html和txt)位于同一个域中。否则,出于安全原因它将不起作用。 – blex

+0

没有客户端无法访问系统中的文件。它可以从任何网址获得文本 –

+0

有没有办法解决这个问题?我的项目不适合网页,我不会上传它,并且依赖于在本地作品上阅读的.txt文件。这不能通过其他方式完成。谢谢! –

回答

0

正确的答案取决于你想要做什么。

如果你只是想显示的文字(就是这样)

可以使用embed工具

<embed src="test.txt"> 

在哪里“的test.txt”是你的文本文件的名称。

请注意,您还需要文本文件的路径。所以,如果是的test.txt在下面的文件目录,你应该在你的情况下使用

<embed src="../test.txt"> 

<embed src="folder/file.txt" 

这是非常简单的类型。这样做的缺点是(就我所知),没有办法将样式应用于显示的文本。

+0

是的,我需要风格的文字哈哈哈谢谢 –