Location对象是预先定义的JavaScript对象,可以通过Window对象的location属性访问,即window.location
1.Location对象的属性及方法:
Location对象的每个属性都描述了URL的不同特性,通常情况下一个URL会有的格式:协议//主机:端口/路径名#哈希标识?搜索条件
如图:
这些部分是满足下列需求的:
“协议”是URL的起始部分,直到包含到第一个冒号。
“主机”描述了主机和域名,或者一个网络主机的IP地址
“端口”描述了服务器用于通讯的通讯端口
“路径名”描述了主机上虚拟目录
“哈希标识”描述了URL中的锚名称,包括哈希掩码(#)。此属性只应用于Http的URL
“搜索条件”描述了该URL中的任何查询信息,包括问号。此属性只应用于Http的URL.“搜索条件”字符串包含变量和值的配对;每对之间用一个“&”连接
2.location的属性
(1)location.href
href是location最重要的属性,用于获取当前文档的URL或设置URL。如果设置URL,将导航到新的页面,如:
(2)location.hash
通过location.hash可以用来获取和设置页面的标签值.
对于ajax页面来说,一般用一个页面来处理所有的事务,假设有一个ajax页面中,包含一个以上的Tab的页面,当在此ajax页面中浏览不同Tabs的的信息时,如果程序不做处理,地址栏的URL是不会改变的,这就意味着,当时无论收藏此URL,还是粘贴后发送给别人,这个URL都是不能准确定位到你想浏览的内容,此时,我们可以通过设置location.hash的值来解决这个问题。
举例说明:
第一种情况 :未设置window.location.hash的值,在浏览b和c页面的内容时,URL地址没有任何变化,这就意味着此地址不能精确定位到你想要的内容
第二种情况 :设置window.location.hash的值,以便精确定位URL
代码如下:
3.location的方法
通过下边的两种方法中的任何一种来使浏览器从服务器上下载 (Load) 页面:
reload() - 促使浏览器重新下载当前的页面,也就是“刷新”当前页面了。
replace(URL) - 促使浏览器根据 URL 参数中给出的地址 (URL) 下载页面,同时在当前浏览器存储的历史记录 (即所浏览过的页面的列表) 中使用新的地址(即此方法中的 URL 参数) 覆盖当前的页面。
使用 replace() 方法意味着用户将不能通过按 “返回” 按钮回到前边浏览过的那个页面,但这并不是说用户完全不能回到原来的所有页面,他们只不过是无法回到被 replace() 方法替换的那一个页面 (注意:只是被替换的那一个页面)。