我们正在尝试分发基本HTML文件,其中包含一些指向USB驱动器中PDF文档的链接,以用于广告目的。我们的想法是自动运行在默认浏览器中打开此HTML。然而,这可能不是一个好主意,因为它看起来非常业余,我们将不得不依赖默认浏览器的技术(不幸的是它很有可能成为IE6 / 7!)
我们已经探索了一些替代方案,但我们找不到一个真正适合我们想要实现的方案:
Firefox的优势在于它支持相对路径(resource://
),但它没有内置的PDF查看器。 Chrome有一个非常好的轻量级PDF查看器,内置的应用程序模式对我们来说是一个非常有用的功能,但我找不到如何在没有通常的绝对路径(file:///C:/
)的情况下打开本地路径,因为我们不知道驱动器的信是什么。
有没有人弄清楚如何处理这类问题?感谢。
答案 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的使用建议:
要使用您的应用加载node-wekit,您需要像这样启动它:
nw.exe app.package
其中nw.exe位于您下载的压缩文件夹的根目录中,app.package是一个包含您的应用数据和package.json的zip文件(可以是任何名称)。
要以静默方式执行此操作,您可以使用包含上述(修改)调用的BAT文件和包含以下内容的VBS文件:
CreateObject("Wscript.Shell").Run "cmd /c launchNW.bat", 0, true
launchNW.bat是BAT文件的名称。现在运行VBS文件;应该弹出一个包含您的Web应用程序的窗口,而不显示命令窗口。