码迷,mamicode.com
首页 > Web开发 > 详细

js 判断 当页面无法回退时(history.go(-1)),关闭网页

时间:2014-08-06 19:18:32      阅读:263      评论:0      收藏:0      [点我收藏+]

标签:浏览器   webkit   history   js   goback   

在做一个Web项目时遇到一个需求,当页面没有前驱历史记录时(就是当前为新弹出的页面,没法做goback操作即history.go(-1)),点击返回按钮时直接关闭页面,否则就退回到前一页。

遇到的问题就是如何判断 是否有history可以回退,这个非常麻烦,因为没有这样的函数直接能获取到,只能通过history.length这个变量做变通的处理,但是对于IE,和非IE的length的返回值不同,ie: history.length=0, 非IE的为1,因此写了一个函数实现前面所需求的这个功能。分享给大家。

/**
 * 返回前一页(或关闭本页面)
 * <li>如果没有前一页历史,则直接关闭当前页面</li>
 */
function goBack(){
    if ((navigator.userAgent.indexOf('MSIE') >= 0) && (navigator.userAgent.indexOf('Opera') < 0)){ // IE
        if(history.length > 0){
            window.history.go( -1 );
        }else{
            window.opener=null;window.close();
        }
    }else{ //非IE浏览器
        if (navigator.userAgent.indexOf('Firefox') >= 0 ||
            navigator.userAgent.indexOf('Opera') >= 0 ||
            navigator.userAgent.indexOf('Safari') >= 0 ||
            navigator.userAgent.indexOf('Chrome') >= 0 ||
            navigator.userAgent.indexOf('WebKit') >= 0){

            if(window.history.length > 1){
                window.history.go( -1 );
            }else{
                window.opener=null;window.close();
            }
        }else{ //未知的浏览器
            window.history.go( -1 );
        }
    }
}


js 判断 当页面无法回退时(history.go(-1)),关闭网页,布布扣,bubuko.com

js 判断 当页面无法回退时(history.go(-1)),关闭网页

标签:浏览器   webkit   history   js   goback   

原文地址:http://blog.csdn.net/hzbigdog/article/details/38402239

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!