龙空技术网

HTA,一种被遗忘的技术,让HTML网页秒变应用程序

财会小贝 5817

前言:

如今咱们对“html应用”大致比较着重,咱们都需要知道一些“html应用”的相关文章。那么小编同时在网摘上网罗了一些有关“html应用””的相关资讯,希望姐妹们能喜欢,朋友们快快来学习一下吧!

HTA

认识HTA

HTA,全称HTML Application(HTML应用程序),这是微软弄出来的一个概念。简单来说,HTA就是可以让普通的网页具备像exe一样的可执行能力,只要双击这个网页就直接运行, 而且你看不到浏览器的身影,而是像一个独立的软件。

我们先来看一段hta代码:

<html>

<head>

<meta charset="utf-8">

<title>Hello world</title>

<style>

body {font-size:30px;font-family:微软雅黑;background:darkblue;}

ul{list-style:none;}

ul li{float:left;width:200px;height:200px;border:1px solid;margin:30px;text-align:center;background:#fff;}

</style>

</head>

<body>

<ul>

<li>通知公告</li>

<li>办事指南</li>

<li>填表范例</li>

<li>法规查询</li>

</ul>

</body>

</html>

晕!这不就是一个HTML吗?对,完全一样。我们把这个页面保存为“test.hta”,可以看到桌面上的图标会跟网页图标不同,显示的是一个跟cmd一样的可执行程序的图标。

直接双击打开“test.hta”,效果如下:

可以看到,它的界面跟一个普通的应用程序没有多大差别。除了扩展名之外,HTA还有一个自己专有的标签,通过这个标签你可以定义窗口显示的风格,例如是否显示菜单栏、是否全屏显示、是否显示滚动条等。我们在上面的代码中增加一些东西:

<html>

<head>

<meta charset="utf-8">

<HTA:APPLICATION ID="oHTA" APPLICATIONNAME="myApp" WINDOWSTATE="maximize" CAPTION="no" BORDER="none" INNERBORDER="no" SINGLEINSTANCE="yes" SCROLL="no">

<title>Hello world</title>

<style>

body {font-size:30px;font-family:微软雅黑;background:darkblue;}

ul{list-style:none;}

ul li{float:left;width:200px;height:200px;border:1px solid;margin:30px;text-align:center;background:#fff;}

</style>

<script language="JavaScript">

document.onmousedown=function click() {

if (event.button==2) {window.close();}

};

</script>

</head>

<body>

<ul>

<li>通知公告</li>

<li>办事指南</li>

<li>填表范例</li>

<li>法规查询</li>

</ul>

</body>

</html>

当你再次打开的时候,它变成了全屏显示了,而且标题栏也没有了。为了便于你关闭窗口,所以这里加了点击鼠标右键关闭窗口的脚本。

<HTA>标签的具体用法请参考以下网址:

原理和用途

那为什么改一下扩展名就能够直接运行呢?看一下任务管理器你就知道怎么回事了:

原来我们真正启动的是mshta.exe,然后再由它来执行hta文件。

你甚至还可以在HTA中通过iframe来嵌套其他网页,这样它就可以作为一个无边框的浏览器使用了。

HTA有什么用途呢?例如,我们可以用它来制作一个触摸显示屏程序(例如在办事大厅中我们用到的排队取号机),当然,借助一些第三方工具,你还可以将其及相关资源(如图片)进行打包,变成一个exe程序。

火不起来的原因

不过,HTA也有很多软肋。首先,它是微软弄出来的一个东西,只有Windows平台可以运行;其次,它要依赖IE运行,而这估计是前端开发者最不待见的一个浏览器了;再次,它能够让你直接跳过IE的限制而直接访问客户的机器,这将会带来很大的安全隐患。

因此,虽然看似很好的一个工具,却一直没有被广泛使用,反而,由于其安全性问题而跟病毒扯上了关系。例如,著名的“暴风一号”病毒就会调用mshta来显示一个骷髅头,并且让你无法关闭。因此,今后遇到hta文件,请谨慎打开。

暴风一号

标签: #html应用