请选择 进入手机版 | 继续访问电脑版
我们常用javascript的history.go(-1)来返回到前一页,但如果是在新窗口打开的就不行了,可以通过下面这段js搞掂,
在页面上调用这个js就行了,如 href="javascript:goBack()"
  1.     /**
  2.      * 返回前一页(或关闭本页面)
  3.      * <li>如果没有前一页历史,则直接关闭当前页面</li>
  4.      */  
  5.     function goBack(){  
  6.         if ((navigator.userAgent.indexOf('MSIE') >= 0) && (navigator.userAgent.indexOf('Opera') < 0)){ // IE  
  7.             if(history.length > 0){  
  8.                 window.history.go( -1 );  
  9.             }else{  
  10.                 window.opener=null;window.close();  
  11.             }  
  12.         }else{ //非IE浏览器  
  13.             if (navigator.userAgent.indexOf('Firefox') >= 0 ||  
  14.                 navigator.userAgent.indexOf('Opera') >= 0 ||  
  15.                 navigator.userAgent.indexOf('Safari') >= 0 ||  
  16.                 navigator.userAgent.indexOf('Chrome') >= 0 ||  
  17.                 navigator.userAgent.indexOf('WebKit') >= 0){  
  18.       
  19.                 if(window.history.length > 1){  
  20.                     window.history.go( -1 );  
  21.                 }else{  
  22.                     window.opener=null;window.close();  
  23.                 }  
  24.             }else{ //未知的浏览器  
  25.                 window.history.go( -1 );  
  26.             }  
  27.         }  
  28.     }  
复制代码

解释:
遇到的问题就是如何判断 是否有history可以回退,这个非常麻烦,因为没有这样的函数直接能获取到,只能通过history.length这个变量做变通的处理,但是对于IE,和非IE的length的返回值不同,ie: history.length=0, 非IE的为1,


COMMENTS已有 0 个人发表评论

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

快速回复 返回顶部 返回列表