您的位置:首页 > 其它

解决请求重定向无法跳转以及页面无限循环跳转

2016-11-15 16:14 686 查看
问题1:请求重定向无法跳转

原因:由于前台使用了一些框架,部分组件是利用的iframe来写页面的,导致后台对请求进行重定向时,前台页面无法跳转,而是在对镶嵌iframe中的页面进行跳转,无法实现在浏览器地址栏上的跳转。



解决:在重定向的页面中写上一段让浏览器重定向的JavaScript代码

如,我这里用户在cookie失效的情况下,需要让用户页面跳转到用户登录页面,我就在登录页面上写上了下面的代码,这里要强调的是,该代码必须是页面里最后的javaScript代码,否则前台的部分javaScript实现的功能会出现异常。如下图所示。



//s为获取浏览器地址栏上地址,如果是在iframe中,一开始跳转到login页面时,
//只是在iframe一个框架里面,所以不是没有实现真正的跳转
var s = window.location.href;
//这里通过在获取地址栏上地址,来判断是否是登陆页面的地址;如果不加这个判断,
//直接跳转,这样会在前台无限循环跳转。
if(s.indexof("login地址")==-1){
window.location.href="login地址"; //或者使用window.location.assign("login地址");
}

问题2:前台跳转时,出现不断的无限循环跳转。

原因:如上面代码所示,没有在把跳转的javaScript代码放在判断中,判断当前页面是否是当前登录页面,否则在浏览器加载跳转页面是,执行j到该avaScript代码时,又会重新进行一次跳转,这样就产生了无线循环。

解决:如上图代码,在跳转前加上判断当前页面是否是要跳转的页面

知识点补充:

Window 对象:所有浏览器都支持 window 对象。它表示浏览器窗口。

window.location 对象在编写时可不使用 window 这个前缀。

window.location.href="index.aspx":表示重新定向到新页面,同时刷新打开的这个页面;

window.location.href:返回当前页面的 URL。

window.location.assign() 方法加载新的文档。

参考资料:

W3CSCHOOL---http://www.w3school.com.cn/js/js_window.asp

javascript中window.open()与window.location.href的区别----http://blog.csdn.net/lingling_jy/article/details/8191107
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐