HTML应用程序

HTML应用程序（，缩写：HTA）是一个使用HTML和動態HTML构建的Microsoft Windows应用程序，运行在Internet Explorer中，并且支援其他的脚本语言，比如VBS和JavaScript。HTML用来创建用户介面，脚本语言则用来构建程序主体。HTA运行时不受浏览器安全模型的限制，实际上，它就像是一个被“完全信任”的应用程序。

大部分HTA執行檔的副檔名为.hta。

HTA的执行器在1999年被引入Microsoft Windows，同时跟隨著Microsoft Internet Explorer 5被發布出來。Article ID:200874 in Microsoft Support ，in Microsoft Support Knowledge Base2003年12月9日，这一技术被申请了专利。

 使用 
HTA给予开发者HTML和高级的脚本语言的共同特性。在Microsoft Windows中使用HTA作為系统管理工具的做法，無論是原型还是“全面”的应用，非常受微软的系统管理者欢迎，特别是在灵活性和开发速度非常關鍵的情境中。Introduction to HTML Applications (HTAs) , in MSDN Library

 环境 

 执行 
在圖形化介面下双击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被下载之前，用户可以选择下载或不下载；如果选择保存，它可以简单的被按需运行。Why Use HTAs , in MSDN Library, Introduction to HTML Applications

每个HTA被默认和呈现为“标准模式内容（IE7标准模式）和怪癖模式内容（IE5怪癖模式）”，但呈现方式可以被X-UA-Compatible 标签更改。  Introduction to HTML Applications (HTAs) - Compatibility

HTA引擎（mshta.exe）依赖于Internet Explorer。从Windows Vista开始，用户可以从系统中移除Internet Explorer，但它将使引擎停止工作。

HTA被Internet Explorer 5至9完美支持。其他版本，例如10和11，仍然支持HTA但被某些小功能关闭。

 安全注意事项 
当一个常规的HTML文件被执行时，执行权限被限制在网页浏览器的安全模式，也就是说，它被限制在与服务器通信的范围，只操纵页面的对象模型（常常表现为验证表单／创建有趣的视觉效果）并且读／写Cookie。

另一方面，HTA被运行为一个完全信任的应用程序，因此具有比普通的HTML文件更多的特权；举一个例子，HTA 可以创建、重命名、删除、并且注册一个实例。尽管HTA在这个“被信任的”环境中运行，查询Active Directory依然可以看到Internet Explorer域的错误信息。

 开发 
要定制一个HTA的特定外观，一个可选的标签hta:application 在 HEAD 中被加入。这个标签公开了一组属性，可以控制程序外观，程序图标等，并且提供对参数（命令行）的控制来启动HTA。HTA:APPLICATION Object , in MSDN Library, the complete specification of the tag hta:application除此以外，HTA 和一个HTML页面的格式是相同的。

任何文本编辑器都可以用来创建HTA。可以从微软获得具有特殊功能的编辑器来开发HTA 或者从第三方获得。

一个存在的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>

 另请参阅 

 Chromium嵌入式框架
 Google Chrome扩展程序
 Intranet
 Firefox OS
 XUL 和 XULRunner - 一个Mozilla的跨平台应用程序，它的语言和环境与HTML应用程序的机制相类似。
 Apache Cordova
 Pop-up ad

 参考资料 

 外部链接 
 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的网站

Category:HTML
Category:Internet Explorer