码迷,mamicode.com
首页 > 编程语言 > 详细

网站前端_JavaScript-BOM编程.0002.JavaScriptLocation对象

时间:2016-09-18 21:17:11      阅读:124      评论:0      收藏:0      [点我收藏+]

标签:网站前端   javascript   

简单介绍:

说明: location对象是window属性,也是document属性所以它提供了与当前窗口中加载的文档有关信息和导航功能,

属性名称属性说明
hash返回url中的hash(#后跟零或多个字符),如果不包含散列则返回空字符串
host返回服务器名称和端口号
hostname返回不带端口号的服务器名称
href返回当前加载页面的完整url与location.toString()一样
pathname返回url中的目录或文件名
port返回url中服务器的端口号
protocol返回页面使用的协议,通常是http或https
search返回url的查询字符串,这个字符串以问号开头
// 解析查询字符串
function getQueryStringArgs(){
    // 去掉查询字符串前面的?符号
    var qs = location.search?location.search.substring(1):‘‘
    // 判断是否有查询字符串如果有就切割,否则返回空数组
    var qsItems = qs.length?qs.split(‘&‘):[]
    var args = {}
    // 遍历数组将键值对放入args对象
    qsItems.map(function(item, index, qsItems){
        var res = item.split(‘=‘)
        // 解码可能被编码过的查询字符串
        var key = decodeURIComponent(itemArr[0]),
            val = decodeURIComponent(itemArr[1])
        if(key){
            args[key] = val
        }
    })
    // 返回包含查询字符串的字母量对象
    return args
}
var args = getQueryStringArgs()
for(var key in args){
    console.log(key + ‘ -> ‘ + args[key])
}


位置相关:

方法名称方法说明
assign(url)当前页面打开新的url,并在浏览器历史记录中生成一条记录,与设置window.location和location.href效果一样,可通过后退返回上一个页面
replace(url)当前页面替换为新的url页面内容,不在浏览器历史记录中生成记录,所以无法通过后腿返回被替换前的页面
reload(force)如果fore为true则尝试强制从服务器刷新当前页面,如果为false则从尝试从缓存中刷新当前页面
// 1秒后页面被替换为百度
setTimeout(function(){
    location.replace(‘http://www.baidu.com‘)
},1000)
// 间歇性每2秒刷新下网页
setInterval(function(){
    location.reload(true)
}, 2000)

说明: 位于reload()调用之后的代码可能会也可能不执行,这取决于网络延迟或系统资源等因素,所以,最好将reload()放在代码的最后一行


本文出自 “ζ自动化运维开发之路ζ” 博客,请务必保留此出处http://xmdevops.blog.51cto.com/11144840/1853795

网站前端_JavaScript-BOM编程.0002.JavaScriptLocation对象

标签:网站前端   javascript   

原文地址:http://xmdevops.blog.51cto.com/11144840/1853795

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!