HTA是HTML Application的缩写(HTML应用程序),是软件开发的新概念,直接将HTML保存成HTA的格式,就是一个独立的应用软件,与VB、C++等程序语言所设计的软件界面没什么差别。也表示HTA(Hierarchical Task Analysis),即层次任务分析和HTA,health technology assessment卫生技术评估
程序的权限
HTA虽然用HTML、JS和CSS编写,却比普通网页权限大得多。它具有桌面程序的所有权限(读写文件、操作注册表等)。HTA本来就是被设计为桌面程序的。
语法的要求
HTA对语法的要求比HTML还要松,甚至连、等标记都可以省略:
<!--examplehta-->
送别
王维
下马引君酒,问君何所之。
……
注意:上面就是整个HTA文件的全部代码。
HTA的外观
可以用<HTA:Application>来设定HTA 应用程序 的外观,如标题栏、边框大小等,必须放在中。
<!--examplehta-->
<html>
<head>
<title>第一个HTA的例子</title>
<HTA:ApplicationID="oHTA"
Applicationname="myApp"
border="thin"
borderstyle="normal"
caption="yes"
icon="filename.ico"
maximizebutton="yes"
minimizebutton="yes"
showintaskbar="no"
singleinstance="no"
sysmenu="yes"
version="0"
windowstate="normal"
scroll="yes">
</head>
<body>
<center>
HTA
HTMLApplication
HTML应用程序
<buttononclick="self.close()"style="font-size:18">离开</button>
</center>
</body>
</html>
属性说明
APPLICATION
内容是否是HTA,免除安全模式。
applicationName
此属性为设置HTA的名称。
border
此属性为设置为HTA的窗口边框类型,默认值为 thick。
它可以设为
thick 指定窗口为粗边框
dialog window 指定窗口为对话框
none 指定窗口无边框
thin 指定窗口为窄边框
borderStyle
此属性为设置HTA窗口的边框格式,默认值为 normal。
它可以设为
normal 普通边框格式
complex 凹凸格式组合边框
raised 凸出的3D边框
static 3D边框格式
sunken 凹进的3D边框
caption
此属性为设置HTA窗口是否显示 标题栏或标题,默认值为 yes。
commandLine
此属性获取启动HTA的参数。
contextMenu
此属性为设置鼠标右键点击时是否显示上下文菜单。
icon
此属性为设置 应用程序的图标。
innerBorder
设置是否显示内部3D边界。
navigable
设置链接文档加载到主HTA窗口或者新的浏览窗口。
maximizeButton
此属性为设置是否在HTA窗口中显示最大化按钮,默认值为 yes。
minimizeButton
此属性为设置是否在HTA窗口中显示最小化按钮,默认值为 yes。
Scroll
此属性为设置是否在右端显示竖向滚动条,默认值为 yes。
scrollFlat
设置滚动条是3D的或者平面的。
selection
设置内容是否可以被鼠标或键盘选中。
showInTaskBar
此属性为设置是否在 任务栏中显示此 应用程序,默认值为 yes。
singleInstance
此属性为设置是否此 应用程序同时只能运行一次。次属性以APPLICATIONNAME属性作为标识,默认值为 no。
sysMenu
此属性为设置是否在HTA窗口中显示系统菜单,默认值为 yes。
version
此属性为设置 应用程序的版本,默认值为空。
windowState
此属性为设置HTA窗口的初始大小,默认值为 normal。
它可以设为
normal 默认大小
minimize 最小化
maximize 最大化
给你几个测试实例
以下实例为javascript封装的本地文件的操作函数,简单的说HTA是可以以web形式便捷的链接线上和本地资源!
/**
//生成并保存日志
text 内容
f 路径
name 文件名
*/
function SaveF(text, f, name)
{
try
{
var fso = new ActiveXObject("Scripting.FileSystemObject");
var ts = fso.createTextFile(unescape(f) + name, true, true);
ts.write(text);
ts.close();
} catch (e) { alert('您的浏览器只能暂存配置,关闭程序前有效!'); }
}
/**
//--删除过期日志
url 要删除的目录
ady 删除几天后的过期数据 默认1天
**/
function deLog(url, day)
{
var fso = new ActiveXObject("Scripting.FileSystemObject");
var f = fso.GetFolder(url); //--要遍历地址
var fc = new Enumerator(f.files);
for (; !fc.atEnd(); fc.moveNext())//--遍历所有的文件
{
var _f = fso.GetFile(fc.item());
//alert(_f.Name);
day = Number(day ? day : 1) * 24 * 60 * 60;
if (time() > time(_f.DateCreated) + day)//--对比时间戳
{
_f.Delete();
}
}
}
/**
//--js日期格式转换为标准unix时间戳
d 时间日期|NULL
**/
function time(d)
{
var dt = (d != null) ? new Date(d) : new Date();
return Date.UTC(dt.getFullYear(), dt.getMonth(), dt.getDay(), dt.getHours(), dt.getMinutes(), dt.getSeconds()) / 1000;
}
感觉 很有用的样子:D