使用本地Javascript访问本地文件

Jas*_*Cav 11 javascript

基于这个网站上的其他答案,我已经觉得我知道这个问题的答案,但是,由于它略有不同,我想问一下.

是否可以从机器上本地运行的JavaScript访问本地文件(AKA,我的网站地址将是file:/// C:/ ...)?或者,这个沙盒也是吗?

我要做的是:我有一台独立的计算机,我希望人们能够将JSON或XML文件放入本地文件夹,这些文件夹在创建站点时读入并用于生成单个网页.如果无法使用JavaScript解决方案,您能提供其他任何建议吗?

谢谢.

Mar*_*ius 5

网页可以读取加载的同一服务器上的任何文件(这是JavaScript的跨站点策略).这意味着页面文件:/// C:/mywebsite/index.html可以读取文件file:// C:/somedir/somefile.xml.要读取此文件,请使用ajax,将其加载到iFrame中或将其加载为javascript或css文件.

有几个浏览器支持自定义方法来加载本地文件(和其他有趣的东西),IE有activeX,Firefox有XPCOM.


Jas*_*rff 5

根据Firefox文档,以下代码将起作用:

var req = new XMLHttpRequest();  
req.open('GET', 'file:///home/user/file.json', false);   
req.send(null);  
if(req.status == 0)  
  dump(req.responseText);
Run Code Online (Sandbox Code Playgroud)

我似乎记得它只能在与HTML页面相同的目录中工作.我不知道这是否适用于其他浏览器.