我有一个文本文件,我想在我的html页面中阅读,两者都在同一目录中,我没有运行服务器。我打算让我的用户离线使用脚本(基本上是基于表达式的文本操作并保留新的行字符)。
我尝试过ajax调用,但主要是跨域出现问题,我知道大多数用户都会在许多浏览器中加强这种安全性,所以只能在我的浏览器中使用它来避免这种情况。
我想支持许多浏览器,包括IE7,8等旧浏览器,不支持HTML5文件阅读器。出于同样的原因,使用filesystemobject或activex读取效果不佳。
用户选择它作为输入后读取文件,这可能吗?否则我就没有选择使用其他技术,如php,java等可能需要我的用户设置这些。
如果我重复这个,请原谅我,但我是一名初学者网站开发人员。我知道通过javascript读取本地文件是不可能的,但还有其他方法吗?
答案 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文件中包含文本文件内容