location(未完)

参考博客
http://blog.csdn.net/wksnm0724/article/details/37872787
http://my.oschina.net/justdo/blog/118391
 
一:用法

使用栗子:

console.log(location.hash);//输出hash值
location.hash="#part2";//输入hash值
if (top.location == self.location)//禁止顶层引用
/**
* 判断当前location 是否为顶层来禁止frame引用
* 如果页面当中有自定义的frame的话,也可以将parent self top换为自定义frame的名称
* 效果就是在自定义frame窗口打开url地址
*/

  

除了可以写url以外还能跳转到某个锚点如:
location.href = "http://www.yahoo.com/";
location.href = "#page";

  

 
*.location.href 不同的点:
 
top.location.href=”url”            在顶层页面打开url(跳出框架)

window.location.href="url"         仅在本页面打开url地址
self.location.href=”url”  同上本页
this.location.href=”url”      同上本页 parent.location.href=”url”   在父窗口打开Url地址  
二:原理

Location 对象特点

1、存储在 Window 对象的 Location 属性中,可通过 window.location 属性来访问。

2、它的 href 属性存放的是文档的完整 URL,其他属性描述了 URL 的各个部分,每个部分可以分别修改,这样新url可以只有部分与原来的 URL 不同。如:

(1)设置 hash 属性,那么浏览器就会转移到当前文档中的一个指定的位置。

(2)设置 search 属性,那么浏览器就会重新装载附加了新的查询字符串的 URL。

3、当 Location 对象被转换成字符串,href 属性的值被返回。即可以用表达式 location 来替代 location.href。

4、 Anchor 对象表示的是文档中的超链接,Location 对象表示的却是浏览器当前显示的文档的 URL(或位置)。

5、Location 对象的 reload() 方法可以重新装载当前文档,replace() 可以装载一个新文档而不为它创建一个新的历史记录。

1、Location 对象属性

属性 描述
hash 设置或返回从井号 (#) 开始的 URL(锚)。
host 设置或返回主机名和当前 URL 的端口号。
hostname 设置或返回当前 URL 的主机名。
href 设置或返回完整的 URL。
pathname 设置或返回当前 URL 的路径部分。
port 设置或返回当前 URL 的端口号。
protocol 设置或返回当前 URL 的协议。
search 设置或返回从问号 (?) 开始的 URL(查询部分)。

2、Location 对象方法

属性 描述
assign() 加载新的文档。
reload() 重新加载当前文档。
replace() 用新的文档替换当前文档。
 
 
 
 
 
 
reload() - 促使浏览器重新下载当前的页面,也就是“刷新”当前页面了。
replace(URL) - 促使浏览器根据 URL 参数中给出的地址 (URL) 下载页面,同时在当前浏览器存储的历史记录 (即所浏览过的页面的列表) 中使用新的地址(即此方法中的 URL 参数) 覆盖当前的页面。
使用 replace() 方法意味着用户将不能通过按 “返回” 按钮回到前边浏览过的那个页面,但这并不是说用户完全不能回到原来的所有页面,他们只不过是无法回到被 replace() 方法替换的那一个页面 (注意:只是被替换的那一个页面)。
 
上一篇:jdk1.6新特性


下一篇:JDK1.8 新特性