HTML应用程序
HTML應用程式(英語:,缩写:HTA)是一个使用HTML和动态 HTML的Microsoft Windows应用程式,它由Internet Explorer支持,并且支援的其他脚本语言,像是VBS和JScript。HTML用来创建用户介面,脚本语言則用来建構主体。HTA执行当中没有互联网浏览器的安全模型的限制;实际上,它就像是一个被"完全信任"的。
- 本文介绍的为微软的专利HTA實作 。 有关HTML5的缓存清单信息(Cache Manifest),请参考 Cache manifest in HTML5。
.hta | |
application/hta | |
特征签名 | %hta |
开发者 | Microsoft |
初始版本 | 1999年4月23日 |
网站 | https://msdn.microsoft.com/en-us/library/ms536471(VS.85).aspx |
大部分HTA執行檔的为 .hta
。
HTA的可执行能力在1999年被引入Microsoft Windows,同时跟隨著Microsoft Internet Explorer 5被發布出來。[1] 在2003年12月9日这一技术申请了专利。[2]
使用
HTA给予开发者HTML和高级的脚本语言的共同特性。在Microsoft Windows中使用HTA作為系统管理工具,無論从原型到“全面”的应用都非常受微软的系统管理者欢迎,特别是在灵活性和开发的速度非常關鍵的環境中。[3]
环境
执行

mshta.exe产生的例子
在圖形化介面下双击HTA文件,或是在下鍵入mshta [HTA檔名]
皆可以透過mshta.exe
执行HTA檔。mshta.exe會与Internet Explorer同时安装。mshta.exe
通过動態載入Internet Explorer的HTML渲染引擎mshtml.dll来执行HTA檔,同时运行的还有需要的语言引擎 (例如 vbscript.dll).
HTA被视为带有 .exe
扩展名的可执行文件. 在当该文件被mshta.exe运行 (或该文件被双击), 它就会立即运行. 当被远程用浏览器运行时, 用户将会被询问, 在HTA被下载到本地之前, 用户可以选择下载或不下载; 如果选择保存,它可以简单的被按需运行.[4]
默认每个HTA被呈现为"标准模式内容(IE7标准模式) 和怪癖模式内容(IE5怪癖模式)", 但呈现方式可以被 X-UA-Compatible
标签更改.[5]
HTA引擎(mshta.exe)依赖于Internet Explorer. 从Windows Vista开始, 用户可以从系统中移除Internet Explorer , 但它将使引擎停止工作.
HTA在Internet Explorer 5 至 9中被完美支持. 更多版本, 例如10 and 11, 仍支持HTA但某些小功能被关闭.
安全注意事项
当一个常规的HTML文件被执行时, 执行权限被限制在网页浏览器的安全模式, 也就是说, 它被限制在与服务器通信的范围, 只操纵页面的对象模型 (常常表现为验证表单/创建有趣的视觉效果) 并且读/写Cookie.
另一方面, HTA运行为一个完全信任的应用程序,因此具有比普通的HTML文件更多的特权; 举一个例子, HTA can 可以创建,重命名,删除,并且注册一个实例. 尽管HTA在这个'被信任的'环境中运行, 查询Active Directory依然可以看到Internet Explorer域的错误信息.
开发
要定制一个HTA的特定外观, 一个可选的标签 hta:application
在 HEAD
中被加入. 这个标签公开了一组属性, 可以控制程序外观, 程序图标等, 并且提供对参数 (命令行) 的控制来启动HTA.[6] 除此以外, HTA 和一个HTML页面的格式是相同的.
任何文本编辑器都可以用来创建HTA. 可以从微软获得具有特殊功能的编辑器来开发HTA[7] 或者从第三方获得.[8]
一个存在的HTML文件(文件后缀为.htm
或 .html
, 一个例子) 可以只将文件后缀更改为 .hta
来更改为HTA文件.
例子
这是一个Hello World程序在HTA中的实现过程.
<HTML>
<HEAD>
<HTA:APPLICATION ID="HelloExample"
BORDER="thick"
BORDERSTYLE="complex"></HTA:APPLICATION>
<TITLE>HTA - Hello World</TITLE>
</HEAD>
<BODY>
<H2>HTA - Hello World</H2>
</BODY>
</HTML>
另请参阅
- Active Scripting
- Chromium Embedded Framework
- Google Chrome extension
- Intranet
- Firefox OS
- XUL 和 XULRunner - 一个Mozilla的跨平台应用程序, 它的语言和环境与HTML应用程序的机制相类似。
- Apache Cordova
- Pop-up ad
参考资料
- Article ID:200874 in Microsoft Support 页面存档备份,存于,in Microsoft Support Knowledge Base
- . [2016-04-02]. (原始内容存档于2019-10-17).
- Introduction to HTML Applications (HTAs) 页面存档备份,存于, in MSDN Library
- Why Use HTAs 页面存档备份,存于, in MSDN Library, Introduction to HTML Applications
- 页面存档备份,存于 Introduction to HTML Applications (HTAs) - Compatibility
- HTA:APPLICATION Object 页面存档备份,存于, in MSDN Library, the complete specification of the tag
hta:application
- . [2016-04-02]. (原始内容存档于2010-03-25).
- . [2016-04-02]. (原始内容存档于2016-04-09).
外部链接
- HTML Component (HTC) Reference at MSDN页面存档备份,存于. An HTC encapsulates specific functionality or behavior within HTAs.
- The Script Center页面存档备份,存于, The Script Center, home of Hey, Scripting Guy! Blog
- Learn About Scripting for HTML Applications (HTAs)页面存档备份,存于, 一个学习HTA的网站