window.location.href的用法(动态输出跳转)


Posted in Javascript onAugust 09, 2014

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>: form提交后D页面跳转
<form target="_blank">: form提交后弹出新页面
<form target="_parent">: form提交后C页面跳转
<form target="_top"> : form提交后A页面跳转
 
关于页面刷新,D 页面中这样写:

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

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

Javascript 相关文章推荐
JS随机漂浮广告代码具体实例
Nov 19 Javascript
transport.js和jquery冲突问题的解决方法
Feb 10 Javascript
JavaScript使用ActiveXObject访问Access和SQL Server数据库
Apr 02 Javascript
jQuery+Ajax+PHP+Mysql实现分页显示数据实例讲解
Sep 27 Javascript
JS实现刷新父页面不弹出提示框的方法
Jun 22 Javascript
jQuery实现磁力图片跟随效果完整示例
Sep 16 Javascript
jQuery排序插件tableSorter使用方法
Feb 10 Javascript
webpack-dev-server远程访问配置方法
Feb 22 Javascript
vue 组件使用中的一些细节点
Apr 25 Javascript
浅谈 Webpack 如何处理图片(开发、打包、优化)
May 15 Javascript
15个值得收藏的JavaScript函数
Sep 15 Javascript
vue使用refs获取嵌套组件中的值过程
Mar 31 Vue.js
javascript父、子页面交互技巧总结
Aug 08 #Javascript
jQuery的animate函数学习记录
Aug 08 #Javascript
jQuery中get和post方法传值测试及注意事项
Aug 08 #Javascript
JSON.stringify转换JSON时日期时间不准确的解决方法
Aug 08 #Javascript
js事件监听机制(事件捕获)总结
Aug 08 #Javascript
使用jquery.qrcode生成彩色二维码实例
Aug 08 #Javascript
兼容最新firefox、chrome和IE的javascript图片预览实现代码
Aug 08 #Javascript
You might like
删除及到期域名的查看(抢域名必备哦)
2008/05/14 PHP
提高PHP编程效率的方法
2013/11/07 PHP
javascript数组与php数组的地址传递及值传递用法实例
2015/01/22 PHP
php实现查询功能(数据访问)
2017/05/23 PHP
PHP实现负载均衡的加权轮询方法分析
2018/08/22 PHP
jQuery中:first选择器用法实例
2014/12/30 Javascript
AngularJS 最常用的功能汇总
2016/02/17 Javascript
AngularJS 依赖注入详解及示例代码
2016/08/17 Javascript
nodeJs内存泄漏问题详解
2016/09/05 NodeJs
Bootstrap的class样式小结
2016/12/01 Javascript
Bootstarp 基础教程之表单部分实例代码
2017/02/03 Javascript
从零学习node.js之模块规范(一)
2017/02/21 Javascript
javascript闭包功能与用法实例分析
2017/04/06 Javascript
JS实现队列的先进先出功能示例
2017/05/10 Javascript
微信小程序实现动态设置placeholder提示文字及按钮选中/取消状态的方法
2017/12/14 Javascript
jQuery实现新闻播报滚动及淡入淡出效果示例
2018/03/23 jQuery
微信小程序如何获取用户收货地址
2018/11/27 Javascript
原生js实现无缝轮播图
2020/01/11 Javascript
详解JS预解析原理
2020/06/16 Javascript
vue使用echarts图表自适应的几种解决方案
2020/12/04 Vue.js
关于element的表单组件整理笔记
2021/02/05 Javascript
videocapture库制作python视频高速传输程序
2013/12/23 Python
linux系统使用python获取内存使用信息脚本分享
2014/01/15 Python
深入解析Python中的urllib2模块
2015/11/13 Python
Python的Django框架中forms表单类的使用方法详解
2016/06/21 Python
Python 转义字符详细介绍
2017/03/21 Python
CSS3 Flexbox中flex-shrink属性的用法示例介绍
2013/12/30 HTML / CSS
LocalStorage记住用户和密码功能
2017/07/24 HTML / CSS
口腔工艺技术专业毕业生自荐信
2013/09/27 职场文书
护林防火标语
2014/06/27 职场文书
咖啡厅商业计划书
2014/09/15 职场文书
2014年医药代表工作总结
2014/11/22 职场文书
公司经营目标责任书
2015/01/29 职场文书
《家庭教育》读后感3篇
2019/12/18 职场文书
如何判断微信付款码和支付宝付款码
2021/04/01 PHP
Windows Server 2016 配置 IIS 的详细步骤
2022/04/28 Servers