我有一个带有嵌入式JavaScript的HTML文件,想要将其转换为独立的exe文件。
这是否可能?我该如何做?是否有html2exe工具可用?
顺便说一句,如果你必须问为什么,它是一个非常简单的文本处理实用程序,但某些人希望它(出于我无法理解的原因)作为桌面应用程序。
我有一个带有嵌入式JavaScript的HTML文件,想要将其转换为独立的exe文件。
这是否可能?我该如何做?是否有html2exe工具可用?
顺便说一句,如果你必须问为什么,它是一个非常简单的文本处理实用程序,但某些人希望它(出于我无法理解的原因)作为桌面应用程序。
<HEAD>
<HTA:Application
Border = Thick
BorderStyle = Complex
ShowInTaskBar = No
MaximizeButton = No
MinimizeButton = No
>
</HEAD>
根据页面的复杂程度而定。
如果只有一个页面,那么 .hta 对您是否可行?
如果有多个页面,您可以使用 IE Webbrowser 控件(或 geckofx )和 HTTPListener
或者您可以自己 托管 asp.net 运行时。
过去我成功地使用 Webbrowser 并通过手动注入 HTML(包括所有所需的脚本),但我不推荐这样做。这是一个令人咬牙切齿的调试噩梦。我一直在坚持,因为它很“有趣”:-)
这是我为此特别开发的产品:js+html+css --> Windows EXE
它不仅可以处理文本,还可以让您创建真正的产品。唯一的缺点是在幕后使用了Edge,它是基于WebBrowser组件构建的。但是只需一行元标记,Edge就可以像适当的HTML5浏览器和CSS3一样运行。魔法行在下面的示例中包含(实际上是第一行)。
注意:这就是所需的全部内容。将其放入名为start.html的文件中,您的应用程序即可工作。它将显示给定为第一个参数的文件的内容。
<meta http-equiv="X-UA-Compatible" content="IE=EDGE" />
<script src="../system/Scriptonit.Engine.js"></script>
<body>
<pre> ... </pre>
</body>
<script>
let sci = new ScriptonitInterface(); // initialize
let args = sci.exeArguments().split("\n"); // take arguments
let name = args[1]||""; // get 1st argument
let text = sci.file.load(name); // load file contents
let disp = document.querySelector("pre"); // find <pre> tag
disp.innerText = text; // display
sci.window.setTitle(name); // set window title
</script>
Scriptonit 是一个免费的、非常轻量级的类 Electron 解决方案,专门为那些想要在仍然使用熟悉的 html/js/css 栈的同时制作可执行文件的人而设计。此外,我正在尝试让编程重拾快乐,这个工具确实很有趣。我保证。
http://www.phpied.com/make-your-javascript-a-windows-exe/
它不会解析HTML以创建GUI,但至少您可以稍微修改JS代码进行编译,然后在其上构建新的UI。
content="IE=EDGE"
设置的存在早于Edge浏览器的存在很多年,仅意味着“在可用的最高文档模式下运行MSHTML”。由于最高模式是11,因此该设置等效于content="IE=11"
。Edge浏览器(现代或遗留)不会发挥作用。 - LesFerchalert(document.documentMode + "\n\n" + window.navigator.userAgent);
- LesFerch