Firefox上的Javascript打开文件

Firefox上的Javascript打开文件,javascript,filereader,Javascript,Filereader,可以用Javascript打开文件吗 它都是本地的,所以我有一个index.html,javascript应该在其中读取一个与readText.txt方向相同的文本文件 我听说有一些安全限制,但如果它都是本地的,它就不能工作吗?如果没有,是否有任何解决方法?我在谷歌上搜索了一些,找到了Mozilla文件HandLeapi,但它对我不起作用JS是在客户端执行的,客户端对服务器文件没有概念。 但是,如果您有URL,您可以使用AJAX请求文件。 您可以从index.html执行类似于$.get('re

可以用Javascript打开文件吗

它都是本地的,所以我有一个index.html,javascript应该在其中读取一个与readText.txt方向相同的文本文件


我听说有一些安全限制,但如果它都是本地的,它就不能工作吗?如果没有,是否有任何解决方法?我在谷歌上搜索了一些,找到了Mozilla文件HandLeapi,但它对我不起作用

JS是在客户端执行的,客户端对服务器文件没有概念。 但是,如果您有URL,您可以使用AJAX请求文件。 您可以从index.html执行类似于
$.get('readText.txt')
(jQuery)的操作

FileHandleApi用于操作客户端文件


理解这里什么是服务器、什么是客户机以及在哪里执行什么是很重要的。服务器是为页面(和文件)提供服务的机器。客户端是运行浏览器的机器。服务器和客户端通过网络进行通信。您可以在本地计算机上运行服务器,但这不会改变关系的性质

简而言之,答案是否定的,你所尝试的不会奏效

较长的答案是:
这不是web的工作方式,即使在本地机器上也是如此。这是一种严格的客户机/服务器关系:在这种情况下,浏览器不(也不应该)关心客户机和服务器是同一台机器。就您的浏览器所知,readme.txt文件位于“服务器”上,需要通过AJAX调用获取。浏览器(出于您提到的安全原因)只能(出于我们这里的目的)操作它创建的客户端文件。filehandle API就是为了这个目的。

“FileHandleApi,但它对我不起作用”为什么?向我们展示代码以检测出问题所在。请参阅。我不确定OP是否意识到,就浏览器而言,与本地框中index.html位于同一目录下的文件是“服务器文件”。@JaredSmith可能是这样。如果你不知道服务器在哪里,客户端在哪里,开发网络应用是很困难的。我们都是从某个地方开始的,对于初学者来说,这种关系并不一定是直观的。