问题 创建一个Javascript本地应用程序(在浏览器中运行)?


我想编写一个将Javascript和HTML用作用户界面的应用程序。该应用程序不需要互联网连接,但需要访问用户的本地文件。

我的第一个想法是,由于访问本地文件的安全限制,这在浏览器中是不可能的。

我的第二个想法是尝试直接从C ++使用webkit并使用Python而不是Javascript,但这似乎相当复杂,我觉得使用Qt过度使用。

我的第三个想法是使用一个签名的Java小程序来进行所有本地访问,但是我对此也不太确定。

关于我应该做什么的任何建议?


9587
2018-01-28 21:29


起源

你有没有见过 的TW? - Pointy


答案:


我承认我对此知之甚少,但听起来你所追求的是什么 XUL 提供。

从主页:

XUL(XML用户界面语言)是Mozilla基于XML的语言,它允许您构建功能丰富的跨平台应用程序,这些应用程序可以与Internet连接或断开连接。

...

熟悉动态HTML(DHTML)的Web开发人员将快速学习XUL并立即开始构建应用程序。

关于文件系统访问: https://developer.mozilla.org/en/Code_snippets/File_I//O

本文介绍了chrome JavaScript中的本地文件输入/输出。

您可以使用Mozilla XPCOM组件访问文件系统。 XUL Planet的文件和流均可使用本地I / O的资源和接口列表。

由于我不熟悉,我会让社区决定这个答案是否有价值。

编辑:  将此答案作为社区维基,因为我没有太多可用的真实信息。


6
2017-07-07 00:12



这看起来很有趣,我来看看。 - Manux
还没有尝试过这个,但提供了一个带有浏览器视图的XUL应用程序(比如 XUL Webapp Wrapper)是一个好的开始,那么你可以使用 XUL的消息管理器 设置Javascript和XUL应用程序之间的通信(可以访问XPCOM组件) - Motin


似乎问题提出5年后,有一个框架可以做到这一点:使用JavaScript,HTML和CSS构建跨平台桌面应用程序,并访问本地文件, http://electron.atom.io/

我自己没用过, 但在其他答案中建议使用


2
2018-01-28 21:37





您始终可以在本地安装所需的服务器,并以此方式访问用户的本地文件。

我一直在用 Server2Go 和 MAMP


1
2018-01-28 21:43





你可以 - 例如 - 使用 热奶咖啡:它允许您使用Objective-J(一种用JavaScript编写的语言)构建应用程序,并在浏览器中或作为一个 具有本地文件访问权的桌面应用 。

然后是Adobe AIR,它允许您使用JavaScript / HTML和编写应用程序 访问文件系统

或者您可以使用新的File Access API: http://hacks.mozilla.org/2009/12/w3c-fileapi-in-firefox-3-6/ (但它有很大的限制: HTML 5文件API

JavaScript是一门美妙的语言!请使用您选择的路线信息更新此问题。


1
2018-01-28 21:51



我将查看前两个.HTML5文件API只能访问用户选择的文件;在我目前的位置,由于文件的数量,这将是非常烦人的。 - Manux
我懂了。卡布奇诺是一个很好的框架,拥有一个非常活跃的社区。我绝对强烈建议通过Adobe AIR进行路由。 - Johannes Fahrenkrug


如果你不是微软的诅咒和/或不介意被绑定到IE,a 超文本终端应用 (HTA)是另一种选择。我曾经(很久以前)使用HTA创建一个完整且相当大的独立数据库应用程序。


1
2018-01-28 21:51





你知道PHP吗?我建议你为Windows安装Wamp或phpTriad或类似的东西。这样您就可以访问本地文件。如果是Linux,大多数基于* nix的操作系统都是用Apache和PHP构建的。


0
2017-12-10 15:39





Mozilla目前正在开发中 无边框,这似乎能够完全符合你的要求 文件系统访问


0



不幸的是,Chromeless项目被认为是非活动状态,并且没有超过2年的提交。 - Meglio