HTA介绍详见http://en.wikipedia.org/wiki/HTML_Application
本文分三部分,记录了碰到的问题与解决方法
一、HTA编写。
利用HTA进行解析网页信息,类似的工具应该不少,之所以使用hta 主要是由于轻量级,容易执行。但是由于使用比较少,处理问题时碰到的问题比较多:
1. 判断网页是否打开(更多需求参照 selenium实现)
一般开发web页面时,常用的页面事件为body的onload,或者Jquery插件的$(document).ready(). 但是在HTA中你无法通过打开页面的body来注册事件,因为无法预知body对象是否已经创建或者onload结束了。下面是我的处理,
function doWaitPageLoad(objName,functionName){
setTimeout("detectWaitPageLoad('"+objName+"','"+functionName+"')", 1000);
}
function detectWaitPageLoad(objName,functionName){
var obj = execCmd(objName);
if(obj.childwin && obj.childwin.document && obj.childwin.document.readyState=='complete'){
execCmd(objName+'.'+functionName+'()');
}
else{
setTimeout("detectWaitPageLoad('"+objName+"','"+functionName+"')",500);
}
}
function execCmd(cmd){
return eval("("+cmd+")");
}
此处理的核心部分就是,
obj.childwin && obj.childwin.document && obj.childwin.document.readyState
,
obj.chidwin
就是你打开的窗口对象,
obj.childwin = window.open(url, "childwin");
2. ActiveXObject调用
function saveFile(strFullPath, strContent) {
var fso = new ActiveXObject( "Scripting.FileSystemObject" );
var flOutput = fso.CreateTextFile( strFullPath, true );
flOutput.Write( strContent );
flOutput.Close();
}
function deleteFile(strFullPath){
var deleteFileObject = new ActiveXObject( "Scripting.FileSystemObject" );
if(deleteFileObject.FileExists( strFullPath)){
delefilepath=deleteFileObject.GetFile(strFullPath);
delefilepath.Delete ();
}
}
function saveFileWithUTF(strFullPath,strContent){
deleteFile(strFullPath);
var fso = new ActiveXObject("adodb.stream");
fso.Type = 2;
fso.mode = 3;
fso.charset = "utf-8";
fso.open();
fso.WriteText(strContent);
fso.SaveToFile(strFullPath);
fso.Close();
}
function uploadToFTP(){
var shellScript = new ActiveXObject( "WScript.Shell" );
//shellScript.Run("cmd.exe 'fileupload.bat'");
shellScript.Run("fileuploadwithscriptftp.bat");
}
1) 保存js文件,第一种方式
Scripting.FileSystemObject无法指定文件编码格式,然后换成了
adodb.stream定义成特定格式UTF-8编码进行保存文件
2)执行bat脚本使用WScript.Shell。
二、上传ftp
尝试了好几种方式,最终使用了破解付费软件才搞定:
1. 第一次使用MS-DOS的ftp, 结果因为ftp服务器使用的是PASV模式,无法建立数据通道
@echo open www.example.com>>t
@echo accountName>>t
@echo password>>t
@echo cd serverPath>>t
@echo ascii>>t
@echo literal pasv>>t
@echo put localfile>>t
@echo bye>>t
@ftp -i -s:t
@del t
2. 使用LFTP for window版本,结果可能是因为ftp server精致ssl连接导致还是上传失败,
XX.bat
lftp\lftp.exe -f yourscriptfile
yourscriptfile:
open -u 'accout name','password' ftp.example.com
cd yourserverpath
lcd localpath
mput *
quit
3. 最后使用ScriptFTP, 貌似很顺畅
XX.bat
ScriptFTP\ScriptFTP_console.exe upload.ftp
upload.ftp
# Connect to FTP server
OPENHOST("ftp.example.com","username","password")
# Change current remote directory to
CHDIR("/server path")
# Send all the files and subdirectories in C:\MyDir to the server
PUTFILE("dir\*.*",SUBDIRS)
# Transfer finished, close the connection
CLOSEHOST
三、添加至window tasks
待续....
分享到:
相关推荐
在“使用网页应用程序(HTA)开发简单串口控制软件”的项目中,我们主要探讨的是如何利用HTA来实现对硬件设备的串口通信。串口,也称为COM端口,是计算机上一种常见的接口,用于与外部设备进行数据交换,如打印机、...
3. **权限和安全**:HTA享有比普通网页更高的权限,可以访问本地资源,但这也意味着它们可能成为恶意软件的目标。因此,开发者需要注意安全实践,避免潜在的安全风险。 4. **应用实例**:HTA可以用于创建各种桌面...
HTA8506C-M系列模块,包括HTA8506C-MH-002YY、HTA8506C-MH+002YY、HTA8506C-MD-002YY以及HTA8506C-MD+002YY,是海航信光电技术有限公司推出的一款高效能并行光收发一体模块。这些模块采用了LCC48封装方式,设计紧凑...
### HTA8506C 4路并行光收发一体模块知识点解析 #### 一、产品概述 HTA8506C是一款高性能的4路并行光收发一体模块,支持单路3.125Gbps的数据传输速率。该模块主要用于背板、高清音视频传输等并行光互连应用领域,...
`<HTA:application>`标签是HTA中最关键的部分之一,它用于声明该文件为HTA应用,并设置应用的各种属性。下面详细介绍一些常用属性: - **ApplicationName**: 设置应用名称。 - **Border**: 定义窗口边框样式,默认...
8. **最佳实践**:保持HTA的安全性,限制不必要的权限,提供清晰的用户界面,并避免使用已废弃的技术。 通过这个"hta文件制作教程.7z"压缩包中的"1.hta"文件,你可以学习到如何构建基本的HTA应用,理解其工作原理,...
在本教程中,我们将探讨如何在HTA中使用VBScript来操作Access数据库文件(.mdb)。Access数据库是Microsoft Office套件的一部分,提供了一个关系型数据库管理系统,用于存储和管理数据。 **VBScript与Access数据库*...
【标题】:“好玩的小程序 用hta做的(非原创)” 【描述】:“好玩的小程序 用hta做的 好玩的小程序 用hta做的” 这个标题和描述提及的“好玩的小程序 ...同时,通过实践编写小型项目,加深对HTA的理解并提升技能。
charset=UTF-8">`,并设置`<hta:application>`标签定义应用的属性,如窗口大小、图标等。 - **JavaScript代码**:HTA的逻辑处理通常由JavaScript完成,包括与用户的交互、数据处理、系统访问等。 - **HTML和CSS**:...
在本案例中,这个HTA程序被设计用来获取并展示电脑的硬件和软件信息。 首先,我们需要理解HTA的基本结构。HTA文件通常包含HTML头部声明、脚本(通常是JavaScript)以及HTML元素。这些脚本可以利用ActiveXObject或...
与普通的网页不同,HTA不会受到浏览器安全限制,可以直接访问本地系统资源,因此非常适合创建类似定时关机这样的系统级工具。 VBScript是Windows环境中广泛使用的解释型脚本语言,它简化了编程过程,使得编写小型...
在实际使用中,这个HTA正则测试工具对于程序员、数据分析人员、网站管理员等需要频繁处理文本和正则表达式的专业人士来说,是一个非常有价值的辅助工具。它简化了正则表达式的调试过程,提高了工作效率。通过熟练...
微软Windows脚本中心HTA(HTML应用程序)编程是一种在Windows环境中使用HTML、JavaScript或...了解并掌握HTA编程,可以帮助开发者快速构建定制化的本地应用程序,尤其在企业内部部署和系统管理领域有着广泛的应用。
HTA Ajax
对于初学者来说,这是一个很好的学习和实践项目,通过它可以深入理解HTA和EasyUI的结合使用,以及如何构建桌面级别的Web应用。而对于有经验的开发者,这个框架可以作为一个起点,快速搭建起自己的项目框架。
一个产生上载列表的HTA代码,只需通过CSS即可调用.服务端代码需要自己提供.
关于HTA高温数据的PPT,欢迎大家下载学习,有什么问题可以随时沟通
《HTA8533-MD-007YY 12 路并行光发射模块使用说明书》 本文档详细介绍了HTA8533,一款专为甚短距离并行多通道光互联数据通信设计的高性能12路LCC封装并行光发射模块。该模块的核心在于其在850nm中心波长下提供的10....