javascript中的location.href有很多种用法,主要如下。

self.location.href="/url" 当前页面打开URL页面

location.href="/url" 当前页面打开URL页面

windows.location.href="/url" 当前页面打开URL页面,前面三个用法相同。

this.location.href="/url" 当前页面打开URL页面

parent.location.href="/url" 在父页面打开新页面

top.location.href="/url" 在顶层页面打开新页面

如果页面中自定义了frame,那么可将parent self top换为自定义frame的名称,效果是在frame窗口打开url地址

此外,window.location.href=window.location.href;和window.location.Reload()和都是刷新当前页面。区别在于是否有提交数据。当有提交数据时,window.location.Reload()会提示是否提交,window.location.href=window.location.href;则是向指定的url提交数据

在写ASP.Net程序的时候,我们经常遇到跳转页面的问题,我们经常使用Response.Redirect 做ASP.NET框架页跳转,如果客户要在跳转的时候使用提示,这个就不灵光了,如:

Response.Write("< script>alert('恭喜您,注册成功!');< /script>");

Response.Redirect("main.html");

这时候我们的提示内容没有出来就跳转了,和Response.Redirect("main.html");没有任何区别。

这时我们采用下面代码试验一下:

ASP.NET框架页跳转的另一实现

Response.Write("< script language=javascript>alert('恭喜您,注册成功!')< /script>");

Response.Write("< script language=javascript>window.location.href='main.html'< /script>");

这个即实现了我们的要求,在提示后,跳转页面。

最重要的是window.location.href 语句可以实现一个框架的页面在执行服务器端代码后刷新另一个框架的页面(Response.Redirect无法达到,至少我没有发现):

如:index.htm页面中有二个框架,分别为 frameLeft和frameRight,在frameRight页面中执行服务器端代码后刷新frameLeft中的页面。

先前最常见的是注册之后,自动刷新登陆框,让登陆框换成已登陆页面,只要在注册成功的代码之后加上一段,即可以实现刷新另个框架的页面。代码如下:

Response.Write("< script language=javascript>alert('恭喜您,注册成功!')< /script>");

Response.Write("< script language=javascript>window.parent.frameLeft.location.href='main.html'< /script>");

这样就搞定了ASP.NET框架页跳转中断的问题。其实asp、php中一般都使用这种方式。

"window.location.href"、"location.href"是本页面跳转

"parent.location.href"是上一层页面跳转

"top.location.href"是最外层的页面跳转

举例说明:

如果A,B,C,D都是jsp,D是C的iframe,C是B的iframe,B是A的iframe,如果D中js这样写

"window.location.href"、"location.href":D页面跳转

"parent.location.href":C页面跳转

"top.location.href":A页面跳转

如果D页面中有form的话,

: form提交后D页面跳转: form提交后弹出新页面: form提交后C页面跳转 : form提交后A页面跳转

关于页面刷新,D 页面中这样写:

"parent.location.reload();": C页面刷新 (当然,也可以使用子窗口的 opener 对象来获得父窗口的对象:window.opener.document.location.reload(); )

"top.location.reload();": A页面刷新

php location.href,window.location.href的用法(动态输出跳转)相关推荐

  1. document.location和window.location有什么区别就是

    用户不能改变document.location(因为这是当前显示文档的位置).但是,可以改变window.location (用其它文档取代当前文档),window.location本身也是一个对象, ...

  2. top.location和window.location有什么区别?

    top.location和window.location有什么区别? top.location是在顶层frame中打开新页 window.location是在当前frame中打开新页

  3. 关于js中window.location.href,location.href,parent.location.href,top.location.href的用法

    "window.location.href"."location.href"是本页面跳转. "parent.location.href" 是 ...

  4. js获取当前域名、Url、相对路径和参数以及指定参数——下载文件-window.location.href

    js获取当前域名.Url.相对路径和参数以及指定参数--下载文件-window.location.href 1.js获取当前域名有2种方法 //方法一 var domain = document.do ...

  5. window.location.Reload()和window.location.href 区别

    首先介绍两个方法的语法: reload 方法,该方法强迫浏览器刷新当前页面. 语法:location.reload([bForceGet])参数: bForceGet, 可选参数, 默认为 false ...

  6. Window.location.href命令在JS中跳转无效或自动忽略

    最近在做一个跳转本页面后提示信息window.location.href只能跳转一次,之后就自动忽略了.在下面加事件返回值即可跳转成功,注意:若在form提交函数中,则不会提交表单:若在超链接标签中, ...

  7. top.location.href和localtion.href有什么不同

    转自:https://www.cnblogs.com/lxl57610/p/7426326.html window.location.href.location.href是本页面跳转 parent.l ...

  8. JS代码的window.location属性详解

    如果你稍微懂一些JS代码,一般都会知道 window.location.href 这个属性.并且用该属性获取页面 URL 地址: window.location.href = window.locat ...

  9. js 刷新页面window.location.reload();

    Javascript刷新页面的几种方法: 1   history.go(0) 2   window.location.reload() window.location.reload(true)  3  ...

最新文章

  1. linux 信号处理实验,linux下信号处理
  2. QTP - 描述性编程
  3. STL 之adjacent_find, merge,inplace_merge
  4. Nat Biotechnol | 杨弋团队报道RNA光遗传学工具,可时空精确操纵活细胞RNA代谢与功能...
  5. golang 1.10 mutex互斥锁源码
  6. 开发者究竟想从云中得到什么?
  7. MRFC-使用VXML、CCXML
  8. java基础知识---IO常用基础操作(一)
  9. 为什么我们应该学马化腾,而不是马云
  10. Sublime Text快捷键
  11. 首届“十大最具价值”互联网创新创业项目遴选榜单丨Xtecher联合中投协权威发布...
  12. 12306余票查询(六)——优化页面结构,加入js请求数据部分
  13. 【学习笔记】【C++整理A】【总】单例模式-饿汉式、懒汉式;
  14. 联通云服务器怎么修改密码,桌面云使用说明
  15. WiFi共享精灵文件传输新功能:金币话费领不停
  16. 什么是etcd及其原理和应用场景
  17. matlab 电压矢量开关,解析电压空间矢量研究及Matlab仿真
  18. iOS中调用短信、电话、邮件、Safari浏览器API
  19. 编译时多态、运行时多态
  20. eval函数 c语言,matlab中eval函数的用法

热门文章

  1. 日本电视制造商起诉惠普 最高索赔1亿美元
  2. 怎么向rabbitmq服务器发送消息,.Net使用RabbitMQ即时发消息Demo
  3. 随机过程 更新过程(上)
  4. 汽车常见几种变速箱解析
  5. 双目视觉集合框架详解
  6. Html 标签详细整理
  7. 树莓派一键部署私有云
  8. 人的心情就像四季一样!
  9. 互联网行业产品经理(PM)的月薪一般是多少?
  10. JSONObject转换json时出现nameValuePair