window对象
Posted JoyJin
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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 = pairs[i].substring(pos+1); //提取value value = 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对象的主要内容,如果未能解决你的问题,请参考以下文章
add application window with unknown token XXX Unable to add window;is your activity is running?(代码片段