有没有办法用file:// protocol在jquery或javascript中读取文件?

时间:2015-10-28 07:31:22

标签: javascript jquery same-origin-policy

我知道很少有firefox版本允许在没有httphttps的情况下读取文件,有没有办法用file://协议在jquery或javascript中读取文件?我正在开发静态应用程序,它适用于Web服务器,如果我能够执行类似于Jquery.ajax函数的工作,协议为file://我将非常高兴

如果我有网络服务器(http/https)可以为file://做什么,这种情况很有效?

$.ajax({
        type: "GET",
        url: "http://localhost/something/somefile.txt",
        dataType: "text",
        success: function(data){ dothis(data); }
       });

如果我没有网络服务器,我会怎么做?我知道由于SOP(同源政策),现代浏览器并不允许。是否有任何替代方法来执行类似的工作,以便支持所有具有file://协议的浏览器?

2 个答案:

答案 0 :(得分:0)

如果您只是阅读文件,请考虑在计算机上设置一键式HTTP服务器。

例如,我使用Web Server for Chrome

答案 1 :(得分:0)

您可能希望使用html5中的 FileSystem API 。这有几个我想你正在寻找的功能。你可以用这个api做什么:

  1. 申请文件系统
  2. 申请存储空间配额
  3. 使用文件
  4. 创建文件
  5. 按名称读取文件
  6. 写入文件
  7. 将数据附加到文件
  8. 复制用户选择的文件
  9. 删除文件
  10. 使用目录
  11. 创建目录
  12. 子目录
  13. 阅读目录的内容
  14. 删除目录
  15. 复制,重命名和移动
  16. filesystem:URLs
  17. 以上几点取自html5rocks。除此之外,您可以查看MDN for filesystem api

    注意:

      

    2014年4月,在 public-webapps 上宣布其他浏览器未考虑 Filesystem API 规范。 目前,该API是特定于Chrome的,并且不太可能由其他浏览器实施,不再使用W3C进行标准化