代码改变世界

一天一小段js代码(no.2)

2014-03-25 20:50  大额_skylar  阅读(275)  评论(0编辑  收藏  举报

 

(一)可以用下面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);