js中管理地址栏的内置对象location

来源:互联网 发布:珠海网络电视台 编辑:程序博客网 时间:2024/05/21 07:51

BOM(浏览器对象模型)中最有用的对象之一就是location,它是window对象和document对象的属性。

一、location对象属性

href

返回完整的URL(是一个可读可写的字符串)

search

返回一个URL的查询部分

假设URL为http://www.runoob.com/submit.htm?key=12

console.log(location.search) 输出结果为?key=12

hash

返回一个URL的锚部分

假设URL为http://www.runoob.com/submit.htm#part1

console.log(location.hash) 输出结果为#part1

protocol

返回一个URL协议

假设URL为http://www.runoob.com/submit.html

console.log(location.protocol) 输出结果为http:

host

返回一个URL的主机名和端口

假设URL为http://www.runoob.com/submit.html

console.log(location.host) 输出结果为www.runoob.com

hostname

返回URL的主机名

假设URL为http://www.runoob.com/submit.html

console.log(location.hostname) 输出结果为www.runoob.com

port

返回一个URL服务器使用的端口号,默认端口号是80,无需指定。

pathname

返回的URL路径名

假设URL为http://www.runoob.com/js/submit.html

console.log(location.pathname) 输出结果为/js/submit.html

hash

hash属性是一个可读可写的字符串(读取时,可以用来判断网页状态是否改变;写入时,则会在不重载网页的前提下,创造一条访问记录历史记录。),该字符串是URL的锚部分(从#号开始的部分)

hash语法:location.hash


hash实例:我的作者管理系统,主要功能有三个:普通搜索、高级搜索、后台管理,我分别给它们分配一个hash值:#search、#advsearch、#admin,在页面初始化的时候,通过window.location.hash来判断用户需要访问的页面,然后通过javascript来调整显示页面。比如:

var hash; 
hash
=(!window.location.hash)?"#search":window.location.hash; 
window.location.hash
=hash; 
  
//调整地址栏地址,使前进、后退按钮能使用 
switch(hash){   
case "#search":  
    selectPanel(
"pnlSearch");   //显示普通搜索面板  
    break;    
case "#advsearch":    
      
case "#admin":  
     
}

通过window.location.hash=hash这个语句来调整地址栏的地址,使得浏览器里边的“前进”、“后退”按钮能正常使用(实质上欺骗了浏览器)。然后再根据hash值的不同来显示不同的面板(用户可以收藏对应的面板了),这就使得Ajax页面的浏览趋于传统化了。


二、location

二、location对象方法

assign(url)

载入新文档 ,该方法打开的页面可以点击后退按钮。

reload(true),参数可选

重新载入当前文档,该方法强迫浏览器刷新当前页面。

可选参数, 默认为 false,从客户端缓存里取当前页。true, 则以 GET 方式,从服务端取最新的页面, 相当于客户端点击 F5。

replace(newurl)

用新文档替换当前文档,该方法打开的页面没有后退按钮,通过指定URL替换当前缓存在历史里(客户端)的项目,因此当使用replace方法之后,你不能通过“前进”和“后退”来访问之前的历史记录。


二、location对象方法

assign(url)

载入新文档 ,该方法打开的页面可以点击后退按钮。

reload(true),参数可选

重新载入当前文档,该方法强迫浏览器刷新当前页面。

可选参数, 默认为 false,从客户端缓存里取当前页。true, 则以 GET 方式,从服务端取最新的页面, 相当于客户端点击 F5。

replace(newurl)

用新文档替换当前文档,该方法打开的页面没有后退按钮,通过指定URL替换当前缓存在历史里(客户端)的项目,因此当使用replace方法之后,你不能通过“前进”和“后退”来访问之前的历史记录。

原创粉丝点击