从 html 文件夹中的 HTML5 桌面应用程序访问本地文件

Posted

技术标签:

【中文标题】从 html 文件夹中的 HTML5 桌面应用程序访问本地文件【英文标题】:Access local files from HTML5 Desktop Application in html folder 【发布时间】:2012-03-04 06:35:52 【问题描述】:

html5 很棒,我可以用它来替换我现有的桌面应用程序,但只是一点点安全限制就阻止了我完成我的工作。我计划完全使用 HTML5 创建一个简单的桌面应用程序,以便它可以在任何支持 HTML-5 的移动和桌面设备上运行。

我知道本地文件的浏览器安全性及其背后的原因,但我不知道为什么我无法找到一种方法来授予对作为沙盒的文件夹的只读访问权限。我的应用程序不需要编写文件,甚至不需要读取 It main html 文件夹之外的文件。它需要读取与域相同的文件夹中的本地文件。

所以请告诉我:

    可以使用特定命令运行浏览器以强制它授予对 HTML 同一文件夹中存在的本地文件的访问权限吗?它不应该禁用所有本地安全限制,只是授予对同一文件夹或子文件夹中文件的 HTML 访问权限。 将本地文件夹映射为可在移动平台上运行的本地主机是否是跨平台方法? 是否存在任何清单文件可放入文件夹以授予对同一 HTML 文件夹的读取访问权限? 是否有任何方法可以授予对作为沙盒的文件夹的只读访问权限?

注意我不想使用第三方解决方案,例如 XULRunner、Mozilla Prism、Adobe Air 或任何其他第三方,如果我需要 HTML-5 解决方案是跨平台的有的。

欢迎提出任何想法。

【问题讨论】:

【参考方案1】:

根据this site,使用参数 --allow-file-access-from-files 从 cmd 启动 chrome 将禁用此安全功能

【讨论】:

【参考方案2】:

如果您非常需要该文​​件,为什么不将其作为 json 对象动态加载到 JS 脚本中。

因此,换句话说,将文件内容放入 js 脚本,并将文件内容结构化为 JSON 格式,然后在加载或需要时加载该脚本。

如果您需要文件 IO,也可以使用 localstorage。

【讨论】:

是的,加载一些数据使用localstorage,内联XML,JSON是否很好,但是浏览器文件限制适用于许多其他常规行为,例如从外部文件中的CSS访问DOM,加载XML,javascript在 IFRAME 内等等。我需要将文件夹视为具有只读访问权限的域,以便在 HTML 方法中执行常规操作。当然,对于写访问,我希望可以按照您所说的那样使用本地存储。

以上是关于从 html 文件夹中的 HTML5 桌面应用程序访问本地文件的主要内容,如果未能解决你的问题,请参考以下文章

Javascript / HTML5 - 用于网络桌面/移动应用程序的音频流录制

HTML5 视频 - 在 Android 设备上精确寻找帧?

HTML5 视频 - 从 SQL 文件流中流式传输

HTML5 在窗口之间拖放

Guacamole搭建,一个基于HTML5的远程桌面

Guacamole搭建,一个基于HTML5的远程桌面