location.href的用户总结

*.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地址 
 
 JavaScript frame 刷新
引用: 
--------------------------------------------------------------------------------

这是一个简单的事例:
以下是top.htm 代码
<script language=javascript>
function rs(){
parent.left.location.href="top.htm"
parent.bot.location.href="top.htm"
}
</script>
<input type=button name=name value="ksdj" onclick=rs();>

以下是一个随意文件名的htm文件:
<FRAMESET COLS="150,*">
<FRAME SRC="left.htm" name=left>
<FRAMESET ROWS="150,*">
<FRAME SRC="top.htm" name=top>
<FRAME SRC="bot.htm" name=bot>
</FRAMESET>
</FRAMESET>
你自己试试,我想你要的可能就是这样的效果!

--------------------------------------------------------------------------------

我引用楼上老兄的方法回复,帮忙解释一下吧。
以下是top.htm 代码
<script language=javascript>
function rs(){
parent.left.location.href="top.htm" //partent指的是父页,也就是最外面的框架页,left只得是left.htm,location是left页的一向对象,而href是location对象的一个属性,就是该属性确定了left的url地址。所以这里就把你需要的地址给了这个parent.left。
parent.bot.location.href="top.htm" //此句意思同上面的大致一样。
} //函数结束,实现了同时对两个url的更新!
</script>
<input type=button name=name value="ksdj" onclick=rs();>

以下是一个随意文件名的htm文件:
<FRAMESET COLS="150,*">
<FRAME SRC="left.htm" name=left> > //给这个left.htm定义了一个名字叫left
<FRAMESET ROWS="150,*">
<FRAME SRC="top.htm" name=top> //给这个top.htm定义了一个名字叫top
<FRAME SRC="bot.htm" name=bot> //给这个bot.htm定义了一个名字叫bot
</FRAMESET>
</FRAMESET>

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由上下两个页面组成,代码如下:

<frameset rows="50%,50%"><frame name=top src="top.html"><frame name=button src="button.html"></frameset>

现在假设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地址

时间: 2024-11-08 07:52:22

location.href的用户总结的相关文章

(转)调皮的location.href

来自 wooyun'drops --->呆子不开口 0x00 背景 随着水瓶月的到来,在祖国繁荣昌盛的今天,web系统的浏览器端也越来越重,很多的功能逻辑都放在了js中,前端的漏洞也越来越多. 我今天就说说location.href跳转的一些问题. 前端跳转常见的代码形式是: #!javascript location.href = "http://www.baidu.com"; 在前端js中有可能是这样: #!javascript var hash = location.has

解决安卓微信浏览器中location.reload 或者 location.href失效的问题

出自:http://www.cnblogs.com/joshua317/p/6163471.html 在移动wap中,经常会使用window.location.href去跳转页面,这个方法在绝大多数浏览器中都不会 存在问题,但早上测试的同学会提出了一个bug:在安卓手机的微信自带浏览器中,这个是失效的,并没有跳转: 原来的代码: window.location.reload(location.href); 初步判断可能是缓存的问题,首先想到的解决办法就是在要跳转的url后面加个时间戳,告知浏览器

window.location.href和window.open的几种用法和区别

使用js的同学一定知道js的location.href的作用是什么,但是在js中关于location.href的用法究竟有哪几种,究竟有哪些区别,估计很多人都不知道了. 一.location.href常见的几种形式 目前在开发中经常要用到的几种形式有: 1 2 3 4 5 6 self.location.href;//当前页面打开URL页面 window.location.href;//当前页面打开URL页面 this.location.href;//当前页面打开URL页面 location.h

登陆判读,并跳转到指定页面(window.location.href=&#39;http://localhost/index.html&#39;)

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 function confirm(){   var tel=$tel.val();//获取页面中登录名和密码   var pwd=$pwd.val();   if(tel==""|| pwd==""){//判断两个均不为空(其他判断规则在其输入时已经判断)     alert(&qu

location.href的用法

location.href的用法 *.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.loc

window.location.Reload()和window.location.href等联系和区别

在web开发中经常会遇到页面刷新的系列问题,现在总结如下: 1.js 刷新页面window.location.reload(); 强制刷新页面,从服务器重新请求! (如果有数据提交的话,会提示是否提交的(是和否选项)),促使浏览器重新下载当前的页面. 2.window.location.href设置或返回完整的 URL. 在js中关于location.href的用法究竟有哪几种,究竟有哪些区别? 目前在开发中经常要用到的几种形式有: self.location.href; window.loca

使用window.location.href跳转页面在IE和FF浏览器中路径不一致的问题总结

上周五的时候遇到一个问题,平时做项目的时候一直使用的是火狐浏览器,上周完成了一个小论坛的功能,因为访问论坛是不需要的用户登录的,只有发帖和回复的时候才需要用户登录,所以就在系统中加了一个拦截器,发帖时候如果没有登录就跳转到登录页面,功能完成以后在火狐浏览器下面使用完全没问题,平时很少使用IE浏览器,所以也没有在IE下面测试就直接放到服务器上测试了,在服务器上测试的时候还是使用的火狐,也没什么问题,但是我的一个同事去测试的时候就出现了问题,他是使用的IE浏览器,访问的时候明明是不需要用户登录的地方

window.location.href 跳转后再返回浏览器缓存问题

最近写了个手机端一个活动页面,会展示用户信息,需要location.href 跳转到用户编辑页面编辑用户信息. 然后按下手机的返回操作进入活动页面,发现并没有重新的像后台发起请求,而是从浏览器中直接获取了请求响应数据.经过多方查找,最终解决了,原因为我的活动页面使用了 GET请求,解决方案有两种方法一:依然使用GET 请求在请求参数上多添加一个 timestamp=new Date(). 方法二:将GET请求换成POST 请求.我之前也使用客户端在header中添加 meta "Cache-Co

location.href和window.open的几种用法和区别

一.location.href常见的几种形式 self.location.href;//当前页面打开URL页面 window.location.href;//当前页面打开URL页面 this.location.href;//当前页面打开URL页面 location.href;// 当前页面打开URL页面 parent.location.href;//在父页面打开新页面 top.location.href;//在顶层页面打开新页面 ①如果页面中自定义了frame,那么可将parent.self.t