告诉你,什么是HTA?

Tony哥
2015-02-11 / 0 评论 / 448 阅读 / 正在检测是否收录...
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;
    }
0

评论 (0)

取消
  1. 头像
    kyle
    Linux · Google Chrome

    感觉 很有用的样子:D

    回复