将Javascript应用程序转换为Windows应用程序

6

除了Adobe Air之外,是否有其他解决方案?我听说V8在这方面有一些东西。

只是现在没有时间用另一种语言编写整个应用程序,然后再写2倍的代码。


你需要访问文件系统吗? - helpermethod
是的,以及其他所有内容。 - Somebody
4个回答

阿里云服务器只需要99元/年,新老用户同享,点击查看详情
1

你可以通过将HTML文件的扩展名更改为“.hta”来使其成为Windows应用程序。

Windows会像对待Winform应用程序一样处理*.hta文件。这被称为“HTML应用程序”-HTA。

更多文档请参见:

HTML应用程序

当然,你可以在HTA文件中附加任意数量的Javascript,甚至可以通过以下方式使用外部*.js文件:

<script src="your file.js"></script>

学到了新东西!谢谢 :) - Mehdi Maghrouni

1

也许你可以使用 jsc: 从命令行编译 JScript 代码

但是你需要用 WinForms 对象替换浏览器相关对象,这涉及学习新的 API,或者在主窗口(Form 对象)中使用 .NET WebBrowser 对象(一个仅显示页面内容而没有除滚动条之外的栏的浏览器小部件),并编写程序以加载带有 JS 代码的页面的 URL。

以下是 MSDN 的摘录:

WebBrowser 控件还允许您显示在应用程序中创建或从数据库或资源文件检索的内容。使用 DocumentText 或 DocumentStream 属性将当前文档的内容作为字符串或数据流获取或设置。

您还可以通过Document属性操纵Web页面的内容,该属性包含一个HtmlDocument对象,为当前页面提供了对HTML文档对象模型(DOM)的托管访问。当与ObjectForScripting属性结合使用时,此属性非常有用,可实现您的(Windows)应用程序代码和Web页面中动态HTML(DHTML)代码之间的双向通信,让您将基于Web的控件和Windows Forms控件组合在单个用户界面中。您可以使用Document属性从应用程序(Windows代码)调用脚本代码方法。您的脚本代码可以通过window.external对象访问您的应用程序,该对象是提供主机访问的内置DOM对象,并映射到您为ObjectForScripting属性指定的对象。 WebBrowser控件是ActiveX WebBrowser控件的托管包装器,并使用安装在用户计算机上的控件版本。

有趣。这个选项有什么问题或缺点吗? - Somebody
嗯,.NET WebBrowser对象不支持IE不支持的功能;换句话说,你的应用程序将在IE上看起来一样。 - Luc125

0

好的,你可以尝试像这样:

Chromeless

这样,你就可以保留你的代码,并且它看起来至少有点像桌面应用程序。


0

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,