HTML应用程序

本页使用了标题或全文手工转换,现处于中国大陆简体模式
求闻百科,共笔求闻

: 本文介绍的为微软的专利HTA实作。有关HTML5的缓存清单信息(Cache Manifest),请参考 Cache manifest in HTML5

HTML Application (HTA)
扩展名.hta
互联网媒体类型application/hta
特征签名%hta
开发者Microsoft
初始版本1999年4月23日 (1999-04-23)
网站https://msdn.microsoft.com/en-us/library/ms536471(VS.85).aspx

HTML应用程序(英语:HTML Application,缩写:HTA)是一个使用HTML和动态 HTML的Microsoft Windows应用程序,它由Internet Explorer支持,并且支持的其他脚本语言,像是VBSJScript。HTML用来创建用户界面,脚本语言则用来建构程序主体。HTA执行当中没有互联网浏览器的安全模型的限制;实际上,它就像是一个被“完全信任”的应用。

大部分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 和 11,仍然支持HTA但被某些小功能关闭。

安全注意事项

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

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

开发

要定制一个HTA的特定外观,一个可选的标签 hta:applicationHEAD 中被加入。这个标签公开了一组属性,可以控制程序外观,程序图标等,并且提供对参数(命令行)的控制来启动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

参考资料

  1. Article ID:200874 in Microsoft Support ,in Microsoft Support Knowledge Base
  2. Microsoft wins HTML application patent. [2016-04-02]. 
  3. Introduction to HTML Applications (HTAs) , in MSDN Library
  4. Why Use HTAs , in MSDN Library, Introduction to HTML Applications
  5. [1] Introduction to HTML Applications (HTAs) - Compatibility
  6. HTA:APPLICATION Object , in MSDN Library, the complete specification of the tag hta:application
  7. HTA Helpomatic. [2016-04-02]. 
  8. HTAEdit, an editor for HTAs with a built-in debugger. [2016-04-02]. 

外部链接