(一)可以用下面js代码来检测弹出窗口是否被屏蔽:

var blocked = false ;

try {
/*window.open()方法接受4个参数window.open(要加载的url,窗口目标,一个特性字符串,表示新页面是否取代浏览器历史记录中当前加载页面的布尔值)*/
/*窗口目标还可以是_self,_parent ,_top, _blank*/
var wroxWin = window.open("http://www.baidu.com","_self");
if(wroxWin == null){
blocked = true;
}
}catch(ex){
blocked = true ;
} if(blocked){
alert("The popup was blocked");
}

(二)Javascript是单线程语言,可以通过超时调用和间歇调用调度代码(javascript有一个任务队列,顺序执行)在特定的时间执行,一般认为,使用超时调用来模拟间歇调用是一种最佳的方式,因为后一个间歇调用可能会在前一个间歇调用结束之前调用。

/*使用超时调用模拟间歇调用*/
var num = 0;
var max = 10; function incrementNumber(){
num++;
/*如果执行次数未达到max设定的值则另一次超时调用*/
if(num<max){
setTimeout(incrementNumber,500);
}else{
alert('Done');
}
} setTimeout(incrementNumber,500);
04-14 01:08