写过HTA的朋友大概都知道,初始时调整HTA窗口大小时,窗口先会显示为默认大小,再调整到目标大小,这将导致有一个闪烁,很碍眼,试过很多方法,最终找到了一种比较完美的解决方案。
其实关键在于HTA标签,当解析到HTA标签时,才会对应用程序窗口进行渲染,所以在这之前调整大小,就会避免出现“一闪”的情况,不过这样做有个弊端,有些时候在HTA标签之前使用js对窗口进行操作可能会抛出异常,导致窗口调整失败(Access Denied),可能一些组件加载之前不允许对窗口进行操作。
对于Access Denied,我们只要在执行它时捕获异常,如果发生的异常,就再执行一次,直到不再抛出异常即可。
示例代码:
<html>
<head>
<meta http-equiv="Content-Type" content="text/html;charset=utf-8" />
<title>Demo</title>
<script type="text/javascript">
while (true) {
try {
var w = 400, h = 300;
window.resizeTo(w, h);
window.moveTo((window.screen.width - w) / 2, (window.screen.height - h) / 2);
break;
} catch (e) { continue; }
}
</script>
<HTA:APPLICATION ID="app"
APPLICATIONNAME="monster"
BORDER="dialog"
MAXIMIZEBUTTON="no"
SCROLLFLAT="yes"
CAPTION="yes"
INNERBORDER="no"
ICON=""
SCROLL="no"
SHOWINTASKBAR="yes"
SINGLEINSTANCE="yes"
SYSMENU="yes"
WINDOWSTATE="normal" />
<head>
<body>
It works!
</body>
</html>
分享到:
相关推荐
在描述中提到的“控制窗体尺寸”,具体是指调整HTA窗口的高度和宽度,以及如何处理窗口的边界和最大化/最小化按钮。在设计HTA时,理解如何控制窗口尺寸是至关重要的,因为一个良好的布局可以提升用户的使用感受。 ...
### HTA格式程序详解 #### 一、HTA概述与基本结构 HTA(HTML Application)是一种基于HTML、CSS和JavaScript技术的应用程序,它能够利用Web技术开发桌面应用程序。通过这种方式,开发者可以利用熟悉的Web技术栈来...
1. **HTA的基本结构**:一个HTA文件通常以`.hta`为扩展名,包含`<hta:application>`元素作为根元素,用于定义应用程序的属性,如窗口大小、图标等。 2. **HTML和JavaScript**:HTA使用HTML来构建用户界面,...
HTA文件通常拥有全屏模式、窗口控制、图标以及系统菜单等特性,与传统的桌面应用程序类似。 在"hta文件制作教程.7z"这个压缩包中,包含了一个名为"1.hta"的文件,这很可能是教程的初始示例或练习项目。要理解并创建...
HTA应用程序在Windows操作系统上运行,享有与传统桌面应用程序相同的权限,但其编写和维护却相对简单,因为它们基于Web技术。** 在本文中,我们将深入探讨HTA的原理、优势以及如何利用它来开发实用工具。 **一、...
微软Windows脚本中心HTA(HTML应用程序)编程是一种在Windows环境中使用HTML、JavaScript或VBScript进行桌面应用程序开发的技术。HTA文件本质上是HTML文件,但它们具有本地应用程序的权限,而不是浏览器中的限制。...
但是,为了使文件成为HTA,需要在`<head>`部分添加`<hta:application>`元素,设置其`id`、`applicationName`、`icon`等属性,以定义应用的基本信息。 2. **权限与安全**:由于HTA运行在沙盒之外,它拥有比Web应用...
正则表达式是一种强大的文本处理工具,用于在字符串中匹配、查找、替换或者提取符合特定模式的文本。在编程和数据分析领域,正则表达式扮演着至关重要的角色,因为它们可以高效地处理复杂的文本匹配任务。本文将详细...
根据给定的文件信息,我们可以总结出关于弹出窗口在网页设计中的应用及技术细节的知识点,这包括了使用JavaScript创建各种类型的弹出窗口的方法,以及如何利用HTML Application(HTA)来增强网页功能。 ### 弹出...
1. **多页面支持**:可能支持在同一个HTA应用中创建多个页面,如同传统软件的多窗口或选项卡。 2. **模板库**:提供预设的界面布局和元素,以便快速搭建应用的基础结构。 3. **事件处理**:通过直观的界面,让用户...
利用这些属性,开发者可以定制HTA应用程序的外观和交互行为,使其符合特定的需求。比如,如果希望创建一个无边框的全屏应用程序,可以设置Border属性为none,同时设置WindowState属性为maximize。通过JavaScript,还...
本文档汇总了几种常用的网页弹出窗口的实现方法,包括通过`window.open`方法创建新窗口、使用`showModalDialog`和`showModelessDialog`方法创建模态和非模态对话框,以及通过HTA技术创建富客户端应用。 #### 一、...
内容索引:脚本资源,Ajax/JavaScript,播放器 这个网页播放器是由JavaScript编写的,并封装成了HTA格式的文件,你只需双击此文件就可以在网页上运行本播放器,不过目前没有测试是否支持在网页上用链接打开本播放器,...
HTA文件是一种特殊的HTML文件,其后缀为.hta,它拥有桌面应用程序的能力,如独立的窗口、不受浏览器限制的脚本执行环境,以及访问本地文件系统的权限。这使得开发者能够创建出更贴近原生应用的用户体验,而不仅仅是...
`Timer_Quit()`函数用于关闭当前的HTA窗口,而`Timer_Kernel()`函数则是执行定时操作的核心。 在`Timer_Kernel()`函数中,如果已经设置了定时任务(`$bl_Sleep`为真),并且用户已经选择了时间、时间单位(分钟或...
对话框具有更多的定制选项,如窗口尺寸、位置以及是否显示帮助、状态栏等。 例如,以下代码展示了如何使用`showModalDialog()`打开一个400x300像素大小的对话框,并设定其位置: ```html <SCRIPT LANGUAGE="...