【问题标题】:Is there any way to read file in jquery or javascript with file:// protocol?有没有办法使用 file:// 协议在 jquery 或 javascript 中读取文件?
【发布时间】:2016-01-27 21:14:19
【问题描述】:

我知道很少有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:// 的浏览器?

【问题讨论】:

标签: javascript jquery same-origin-policy


【解决方案1】:

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

例如我使用Web Server for Chrome

【讨论】:

  • 如果操作系统不是 Windows 怎么办?
【解决方案2】:

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

  1. 请求文件系统
  2. 请求存储配额
  3. 处理文件
  4. 创建文件
  5. 按名称读取文件
  6. 写入文件
  7. 将数据附加到文件
  8. 复制用户选择的文件
  9. 删除文件
  10. 使用目录
  11. 创建目录
  12. 子目录
  13. 读取目录的内容
  14. 删除目录
  15. 复制、重命名和移动
  16. 文件系统:网址

以上几点取自html5rocks。除此之外你可以看看MDN for filesystem api


注意:

2014 年 4 月,public-webapps 上宣布 Filesystem API 规范没有被其他浏览器考虑。 目前,该 API 是 Chrome 特定的,不太可能被其他浏览器实现,并且不再被 W3C 标准化

【讨论】:

    猜你喜欢
    • 2013-09-25
    • 1970-01-01
    • 2020-11-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多