HTA简介:HTA是HTML Application的缩写(HTML应用程序),是软件开发的新概念,直接将HTML保存成HTA的格式,就是一个独立的应用软件,与VB、C++等程序语言所设计的软件没什么差别。
下面是一个HTA的例子:
<!—example1.hta-->
<html>
<head>
<title>第一个HTA的例子</title>
<style>
p {font-size:24;cursor:hand}
</style>
</head>
<body>
<center>
<p>HTA</P>
<p>HTML Application</p>
<p>HTML应用程序</p>
</center>
</body>
</html>
把上面的代码复制到任意文本编辑器中,然后保存为*.hta,直接双击就可以看到效果啦!!
从上面的代码可以看出来,HTA与普通的网页结构差不多,所以设计出来很容易,当然HTA还有许多自己独特的属性,下面我们来看看这个文件:
1、 HTA对语法的要求比HTML还要松,甚至连<html>、<body>等标记都可以省略:
<!—example2.hta?
送别
王维
下马引君酒,问君何所之。
……
注意:上面就是整个HTA文件的全部代码,运行看看,是不是很爽啊??:)
2、 HTA的外观
可以用<HTA:Application>来设顶HTA应用程序的外观,如标题栏、边框大小等,必须放在<head>中。
<!—example3.hta-->
<html>
<head>
<title>第一个HTA的例子</title>
<HTA:Application
border=”thick”
caption=”yes”
maximizebutton=”yes”
minimizebutton=”yes”
sysmenu=”yes”
windowstate=”normal”
>
</head>
<body>
<center>
<p>HTA</P>
<p>HTML Application</p>
<p>HTML应用程序</p>
<button onclick=”self.close()” style=”font-size:18”>离开</button>
</center>
</body>
</html>
对一些属性的说明:
border=”thick” 可以改为“thin”
caption=”yes” “no”
maximizebutton=”yes” “no”
minimizebutton=”yes” “no”
sysmenu=”yes” “no”
windowstate=”normal” “maximize”满屏,”minimize”最小化
hta就是一个HTML应用程序(HTML Application),只要你双击就能运行
只要简单的用.hta为扩展名保存HTML页面就行了
下面的一个标准的HTML应用程序:
<HTML>
<HEAD>
<TITLE>HTA Demo</TITLE>
<HTA:APPLICATION ID=〃oHTA〃
APPLICATIONNAME=〃myApp〃
BORDER=〃thin〃
BORDERSTYLE=〃normal〃
CAPTION=〃yes〃
ICON=〃filename.ico〃
MAXIMIZEBUTTON=〃yes〃
MINIMIZEBUTTON=〃yes〃
SHOWINTASKBAR=〃no〃
INGLEINSTANCE=〃no〃
SYSMENU=〃yes〃
VERSION=〃1.0〃
WINDOWSTATE=〃normal〃>
</HEAD>
<BODY SCROLL=〃no〃>
<H1>HELLO, WORLD!</H1>
</BODY>
</HTML>
它多了HTA:APPLICATION标签。其实就是这个标签提供了一系列面向应用程序的功能。
它的各种属性:
APPLICATIONNAME属性(applicationName)
此属性为设置HTA的名称。
BORDER属性(border)
此属性为设置为HTA的窗口边框类型,默认值为 thick。
它可以设为 thick 指定窗口为粗边框
dialog window 指定窗口为对话框
none 指定窗口无边框
thin 指定窗口为窄边框
BORDERSTYLE属性(borderStyle)
此属性为设置HTA窗口的边框格式,默认值为 normal。
它可以设为
normal 普通边框格式
complex 凹凸格式组合边框
raised 凸出的3D边框
static 3D边框格式
sunken 凹进的3D边框
CAPTION属性(caption)
此属性为设置HTA窗口是否显示标题栏或标题,默认值为 yes。
ICON属性(icon)
此属性为设置应用程序的图标。
MAXIMIZEBUTTON属性(maximizeButton)
此属性为设置是否在HTA窗口中显示最大化按钮,默认值为 yes。
MINIMIZEBUTTON属性(minimizeButton)
此属性为设置是否在HTA窗口中显示最小化按钮,默认值为 yes。
SHOWINTASKBAR属性(showInTaskBar)
此属性为设置是否在任务栏中显示此应用程序,默认值为 yes。
SINGLEINSTANCE属性(singleInstance)
此属性为设置是否此应用程序同时只能运行一次。次属性以APPLICATIONNAME属性作为标识,默认值为 no。
SYSMENU属性(sysMenu)
此属性为设置是否在HTA窗口中显示系统菜单,默认值为 yes。
VERSION属性(version)
此属性为设置应用程序的版本,默认值为空。
WINDOWSTATE属性(windowState)
此属性为设置HTA窗口的初始大小,默认值为 normal。
它可以设为 normal 默认大小
minmize 最小化
maximize 最大化
以上括号中的是在脚本引用的属性。在脚本中以上属性皆为只读属性。此外,在脚本中还可以使用commandLine属性来检索应用程序启动时的参数。
在HTA中还可以使用html中的绝大多数标签、脚本等。
将用了fso的页面作成hta,双击运行时就没有安全警告的
var Controller = WScript.CreateObject("WSHController");
var RemoteScript = Controller.CreateScript("test.js", "remoteserver");
WScript.ConnectObject(RemoteScript, "remote_");
RemoteScript.Execute();
while (RemoteScript.Status != 2) {
WScript.Sleep(100);
}
WScript.DisconnectObject(RemoteScript);
function remote_Error()
{
var theError = RemoteScript.Error;
WScript.Echo("Error " + theError.Number + " - Line: " + theError.Line + ", Char: " + theError.Character + "\nDescription: " + theError.Description);
WScript.Quit(-1);
}
HTA和一般的WEB最大的不同是它完全在客户端执行,因此没有安全限制;由于和普通的HTML页面没有什么区别,所以部署是很简单的,唯一不好的就是脚本语言的效率(开发)不高。
文章评论