捡个警犬犯法吗:location.href的用法

来源:百度文库 编辑:中财网 时间:2024/05/12 04:37:43
*.location.href 用法:
  top.location.href=”url”          在顶层页面打开url(跳出框架)
  self.location.href=”url”         仅在本页面打开url地址
  parent.location.href=”url”      在父窗口打开Url地址
  this.location.href=”url”       用法和self的用法一致
     if (top.location == self.location) 判断当前location 是否为顶层来 禁止frame引用
   如果页面当中有自定义的frame的话,也可以将parent  self   top换为自定义frame的名称
     效果就是在自定义frame窗口打开url地址 转帖:http://blog.csdn.net/faintbear/archive/2004/09/15/105073.aspx javascript frame 刷新
引用:

这是一个简单的事例:
以下是top.htm 代码



以下是一个随意文件名的htm文件:







你自己试试,我想你要的可能就是这样的效果!


我引用楼上老兄的方法回复,帮忙解释一下吧。
以下是top.htm 代码



以下是一个随意文件名的htm文件:

//给这个left.htm定义了一个名字叫left

 //给这个top.htm定义了一个名字叫top
 //给这个bot.htm定义了一个名字叫bot

window 对象的 location 属性包含了当前页面的地址 (URL) 信息,你可以直接改变此属性值,将其设置成新的地址 (URL):

window.location = "http://www.yahoo.com";
或者
location = "http://www.yahoo.com";

你还可以通过下边的两种方法中的任何一种来使浏览器从服务器上下载 (Load) 页面:

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

 

 framedemo.html,top.html,button.html为例来具体说明如何做

其中framedemo.html由上下两个页面组成,代码如下:

 

现在假设top.html即上面的页面有一个button来实现对下面页面的刷新,可以用以下七种语句,哪个好用自己看着办了。

 

语句1. window.parent.frames[1].location.reload();

 

语句2. window.parent.frames.bottom.location.reload();

 

语句3. window.parent.frames["bottom"].location.reload();

 

语句4. window.parent.frames.item(1).location.reload();

 

语句5. window.parent.frames.item('bottom').location.reload();

 

语句6. window.parent.bottom.location.reload();

 

语句7. window.parent['bottom'].location.reload();

 

解释一下:

 

1.window指代的是当前页面,例如对于此例它指的是top.html页面。

 

2.parent指的是当前页面的父页面,也就是包含它的框架页面。例如对于此例它指的是framedemo.html。

 

3.frames是window对象,是一个数组。代表着该框架内所有子页面。

 

4.item是方法。返回数组里面的元素。

 看了部分文章个人总结:top.location是在顶层frame中打开新页   
window.location是在当前frame中打开新页parent.location 在当前窗口的父窗口打开Url地址