用于在pendrives中分发的离线Web应用程序(仅限Windows)?

时间:2011-10-18 16:49:27

标签: html windows web-applications offline

我们正在尝试分发基本HTML文件,其中包含一些指向USB驱动器中PDF文档的链接,以用于广告目的。我们的想法是自动运行在默认浏览器中打开此HTML。然而,这可能不是一个好主意,因为它看起来非常业余,我们将不得不依赖默认浏览器的技术(不幸的是它很有可能成为IE6 / 7!)

我们已经探索了一些替代方案,但我们找不到一个真正适合我们想要实现的方案:

  1. Mozilla Prism
    尽管它的设计考虑了离线网络应用程序,但可执行文件在用户的AppData目录中创建文件,并且很难配置默认路径。此外,Firefox没有默认的PDF查看器,因此我们必须依赖用户的默认PDF查看器(可能是Adobe Reader)
  2. Mozilla Chromeless
    由于Prism处于非活动状态,因此仍在开发Chromeless,它允许开发人员使用基本的HTML / JS / CSS创建浏览器界面。这里的主要问题是,无论如何构建都没有加载HTML,所有显示的都是gray iframe。我不确定这只是我,因为问题页面上没有任何内容。
  3. 便携式应用
    我们可以使用便携版Firefox或Chrome,并自定义适用于Firefox的XUL或open Chrome in app mode
  4. Firefox的优势在于它支持相对路径(resource://),但它没有内置的PDF查看器。 Chrome有一个非常好的轻量级PDF查看器,内置的应用程序模式对我们来说是一个非常有用的功能,但我找不到如何在没有通常的绝对路径(file:///C:/)的情况下打开本地路径,因为我们不知道驱动器的信是什么。

    有没有人弄清楚如何处理这类问题?感谢。

1 个答案:

答案 0 :(得分:1)

三年前就已经提出这个问题了,但它没有得到答复,在谷歌名列前茅,我偶然发现了同样的问题,可以想象许多其他人试图发布可在本地运行的可移植网络应用程序并且只有最少的依赖性也会遇到这个问题。

我现在使用的解决方案是node-webkit。

您可以将它视为便携式Chrome版本,但是除了应用程序入口点的相对路径之外,它大约小40 MB,并且比chrome的--app模式更加可定制(其中如果我没记错的话,根本不可定制。

Github&下载: https://github.com/rogerwang/node-webkit#downloads

广泛的指南: http://thejackalofjavascript.com/getting-started-with-node-webkit-apps/

我对Windows的使用建议:

  1. 首先按照上面链接的指南
  2. 中的说明创建一个应用包
  3. 要使用您的应用加载node-wekit,您需要像这样启动它:

    nw.exe app.package

  4. 其中nw.exe位于您下载的压缩文件夹的根目录中,app.package是一个包含您的应用数据和package.json的zip文件(可以是任何名称)。

    要以静默方式执行此操作,您可以使用包含上述(修改)调用的BAT文件和包含以下内容的VBS文件:

    CreateObject("Wscript.Shell").Run "cmd /c launchNW.bat", 0, true
    

    launchNW.bat是BAT文件的名称。现在运行VBS文件;应该弹出一个包含您的Web应用程序的窗口,而不显示命令窗口。

    1. 阅读链接指南,了解有关自定义选项的更多信息,以便执行隐藏浏览器UI等操作。