首页 > 代码库 > window对象

window对象

计时器

setTimeout()   //用来实现一个函数在指定的毫秒之后运行

claerTimeout()   //用于取消这个函数的执行

setInterval()     //和setTimeout()一样,只不过这个函数会在指定毫秒数的间隔里重复调用

clearInterval()   //用于取消后续函数的调用

setInterval(updateClock,6000);//每60秒调用一次updateClock()
function invoke(f,start,interval,end){
    if(!start)start = 0;  //默认设置为0毫秒
    if(arguments.length<=2){    //单次调用模式
        setTimeout(f,start);     //若干毫秒后的单次调用模式
    }else{                       //多次调用模式
        setTimeout(repeat,start);   //在若干毫秒后调用模式
        function repeat(){         //在上一行所示的setTimeout()中调用
            var h = setInterval(f,interval);    //循环调用f()
            if(end){     //在end毫秒后停止调用,前提是end已经定义了
                setTimeout(function(){
                    clearInterval(h)
                },end)
            }
        }

    }
}

解析URL

location的其他属性——protocol , host , hostname , port , pathname , search , 分别表示URL的各个部分。它们称为‘URL分解’属性,同时被Link对象(通过HTML文档中的<a>和<area>元素创建)支持

function urlArgs(){
    var args = {};   //定义一个空对象
    var query = location.search.substring(1);   //查找到查询串,并去掉‘?’
    var pairs = query.split(‘&‘);   //根据‘&’符号将查询字符串隔开
    for(var i = 0;i<pairs.length;++i){    //对每个片段循环
        var pos = pairs[i].indexOf(‘=‘);   //查找‘name = value’
        if(pos === -1) continue;  //如果没有的话,就跳过
        var name = pairs[i].substring(0,pos);  //提取name
        var value = http://www.mamicode.com/pairs[i].substring(pos+1);   //提取value
        value = http://www.mamicode.com/decodeURIComponent(value);  //对value进行解码
        args[name] = value;  //存储为属性
    }
    return args;  //返回解析后的参数
}

replace()方法,载入新文档之前会从浏览历史中把当前文档删除

如果浏览器不支持XMLHttpRequest对象,则将其重定向到一个不需要ajax的静态页面,

if(!XMLHttpRequest)location.replace(‘staticpage.html‘)

除了assgin()和replace()方法,location对象还定义了reload()方法,后者可以让浏览器重新载入当前文档

location = "#top" ;  //跳转到文档的顶部,如果文档中没有元素ID是“top”,它会让浏览器跳到文档开始处

浏览历史

History对象的length属性表示浏览历史列表中的元素数量

History对象的back()forward()方法与浏览器的‘后退’和‘前进’按钮一样:它们使浏览器在浏览历史中前后跳转一格

第三个方法——go()接受一个整数参数,可以在历史列表中向前(正参数)或向后(负参数)跳过任意多个页

history.go(-2);    //后退两个历史记录,相当于单击“后退”按钮两次

html5历史管理项目,jquery有history插件,RSH是其中一个比较流行的示列,

 

window对象