在js中window.setInterval() 实现ukey的自动识别

先看两个简单的小例子。

setTimeout()的使用: 

<SCRIPT LANGUAGE="JavaScript">  
function test() {  
    //100毫秒后执行sleep方法, 但这100毫秒程序不会等待,会继续执行setTimeout后面的代码  
    //效果就是 先alert(2); 后 alert(1);  
    window.setTimeout("sleep()", 100);  
    alert(2);     
}  
function sleep(){  
    alert(1);  
}  
test();  
</SCRIPT>  
关于setTimeout方法的第一个参数,可以为 字符串,也可以为方法的指针 
如果为字符串的时候必须写括号,指针时不用写括号, 
如: 

window.setTimeout("sleep()", 100);  
window.setTimeout(sleep, 100);  

两者效果一样。 
另: 可以指定参数,如 

window.setTimeout("sleep('" + document.all.aa.value + "')", 100);  
window.setTimeout(sleep(document.all.aa.value), 100);  

然后再sleep方法里可以取到参数的值。 
再看看window.setInterval() :

<SCRIPT LANGUAGE="JavaScript">  
var timer;//声明一个定时器  
var count = 0;  
function test()  
{  
    //每隔500毫秒执行一次add()方法  
    timer = window.setInterval("add()",500);  
}  
function add(){  
    alert(++ count);  
    if (count == 5)  
    {  
        //如果count值达到5,清空定时器  
        window.clearInterval(timer);  
    }  
}  
test();  
</SCRIPT>  

应用在加密锁中自动识别加密锁,随时监测到加密锁的插入。

		//设置timer全局变量,当找到加密锁时停止timer
		var timer;
		
		function IA300_GetInstance()
		{
		    if(_IA300Client == null)
		    {
		        _IA300Client = document.getElementById("IA300Client");
		    }
			
			_IA300Client.Model = 0;
		   return _IA300Client; 
		}
		
		var flag = false;

		//页面加载时调用此函数方法
		function OnPageLoad() {
			var browser = DetectBrowser();
			if (browser == "Unknown") {
				alert("不支持该浏览器, 如果您在使用傲游或类似浏览器,请切换到IE模式");
				return;
			}
			//createAdminElementIA300() 对本页面加入IA300插件
			createElementIA300();
			//DetectActiveX() 判断IA300Admin是否安装
			var create = DetectIA300Plugin();
			if (create == false) {
				alert("插件未安装,请安装开发套件Plugin文件夹下的管理层插件。");
				return false;
			}
		}
		 //查找本地
		function IA300Find() {
			var rtn = IA300_CheckExist();
			if (0 < rtn) {
				/*alert("找到"+rtn+"把锁, 请在列表中选择你需要设置的加密锁. 注意请自行排除管理员锁!");*/
				document.getElementById("userUK").options.length = 0; //初始化列表
				for (i = 0; i < rtn; i++) { //获取所有加密锁硬件ID
					var id = IA300_GetHardwareId(i);
					if (id == "") {
						alert("获取第" + (1 + i) + "把锁硬件ID失败,错误码:"
								+ IA300_GetLastError());
					} else {
						document.getElementById("userUK").options[i] = new Option(
								id, id);
						alert("检测到加密锁,请进行登录!");
						//检测到加密锁退出timer
						if(document.getElementById("userUK").options[i].value == id){
							window.clearInterval(timer);
						}
					}
				}
			} else {
				//alert("未找到加密锁!");
				document.getElementById("userUK").options.length = 0;
				document.getElementById("userUK").options[0] = new Option(
						"");
				return false;
			}
		}
		 
		 
		//开始检查timer
		function IA300_StartCheckTimer(interval)
		{
		    //_TimerErrorMessage  = errMsg;
		   // _ExpireUrl = logonUrl;
		    //定时检测
		    timer = window.setInterval(IA300Find, interval);
		}
		//当页面加载时运行上述两个js方法
		$(document).ready(function() {
			OnPageLoad();
			IA300_StartCheckTimer(500);
		});


  • 3
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值