如何在javascript中从输入文件中读取文本?

时间:2014-01-22 11:42:22

标签: javascript php jquery html html5

我有一个文本文件,我想在我的html页面中阅读,两者都在同一目录中,我没有运行服务器。我打算让我的用户离线使用脚本(基本上是基于表达式的文本操作并保留新的行字符)。

  1. 我尝试过ajax调用,但主要是跨域出现问题,我知道大多数用户都会在许多浏览器中加强这种安全性,所以只能在我的浏览器中使用它来避免这种情况。

  2. 我想支持许多浏览器,包括IE7,8等旧浏览器,不支持HTML5文件阅读器。出于同样的原因,使用filesystemobject或activex读取效果不佳。

  3. 用户选择它作为输入后读取文件,这可能吗?否则我就没有选择使用其他技术,如php,java等可能需要我的用户设置这些。

  4. 如果我重复这个,请原谅我,但我是一名初学者网站开发人员。我知道通过javascript读取本地文件是不可能的,但还有其他方法吗?

1 个答案:

答案 0 :(得分:1)

如果你不支持FileReader,那么答案几乎没有(至少,如果你想支持大范围的浏览器而不是依赖浏览器y的方便功能x)。除非:你确实增加了运行应用程序的要求并获得某种本地服务器(例如node.js,Apache,TomCat等,但是就像你说的那样会大大增加需求并且对用户来说变得很麻烦)。 / p>

你也可以重新思考你想要实现的目标。您要阅读的文件的内容是什么?这些内容不能成为您为用户提供的HTML文件的一部分(即脚本标记内的大型JSON对象吗?)

关于使用node.js的可能性:

Node.js非常容易安装,假设您要求用户安装它,您可以将它用作本地服务器,这是一个大约两行的nodejs脚本:)。在本地运行它也会省略在任何地方上传任何内容的需要,因为您可以使用fs-object直接从文件系统读取(请参阅sitepoint.com/accessing-the-file-system-in-node-js).

STILL:从设计和易用性的角度来看,您可能想要使用其他技术,或者在HMTL文件中包含文本文件内容