除了Adobe Air之外,是否有其他解决方案?我听说V8在这方面有一些东西。
只是现在没有时间用另一种语言编写整个应用程序,然后再写2倍的代码。
除了Adobe Air之外,是否有其他解决方案?我听说V8在这方面有一些东西。
只是现在没有时间用另一种语言编写整个应用程序,然后再写2倍的代码。
你可以通过将HTML文件的扩展名更改为“.hta”来使其成为Windows应用程序。
Windows会像对待Winform应用程序一样处理*.hta文件。这被称为“HTML应用程序”-HTA。
更多文档请参见:
当然,你可以在HTA文件中附加任意数量的Javascript,甚至可以通过以下方式使用外部*.js文件:
<script src="your file.js"></script>
也许你可以使用 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控件的托管包装器,并使用安装在用户计算机上的控件版本。http://www.adobe.com/products/air/
到目前为止,我会选择Adobe Air,因为它具有可移植性和健壮性(虽然不能保证没有错误)