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

news/2024/7/19 15:05:06 标签: 浏览器, 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 );
        }
    }
}



http://www.niftyadmin.cn/n/1257743.html

相关文章

pyqt 万能简易模板(一)

本文将介绍一些pyqt5基本使用技巧&#xff0c;不借助Qtdesigner&#xff0c;而是全部用代码编写&#xff0c;将实现页面布局、窗口自适应、字体自适应等功能。一般的简易工程均可使用&#xff0c;简单高效。 对于pyqt5的一些基本技巧&#xff0c;本文内容基本够用&#xff0c;…

联机SSH访问本地虚机环境

特别介绍&#xff1a;虚机环境 centos7 1.运用场景&#xff1a;一台笔记本访问另一台笔记本的本地虚机环境 一.SSH连接 VMware Workstation提供了2种虚拟机上网方式&#xff0c;一种bridge,一种NAT; bridge可以获取公网地址&#xff0c;而NAT只能是内网地址&#xff1b; 思路&a…

pyqt 万能简易模板(三)

本文将介绍一些pyqt5基本使用技巧&#xff0c;不借助Qtdesigner&#xff0c;而是全部用代码编写&#xff0c;将实现页面布局、窗口自适应、字体自适应等功能。一般的简易工程均可使用&#xff0c;简单高效。对于pyqt5的一些基本技巧&#xff0c;本文内容基本够用&#xff0c;可…

jQuery+ajax实现局部刷新

在项目中&#xff0c;经常会用到ajax&#xff0c;比如实现局部刷新&#xff0c;比如需要前后端交互等&#xff0c;这里呢分享局部刷新的两种方法&#xff0c;主要用的是ajax里面的.load()&#xff0c;其他高级方法的使用以后再做详细笔记。 第一种&#xff1a; 当某几个页面都有…

pyqt 万能简易模板(二)

本文将介绍一些pyqt5基本使用技巧&#xff0c;不借助Qtdesigner&#xff0c;而是全部用代码编写&#xff0c;将实现页面布局、窗口自适应、字体自适应等功能。一般的简易工程均可使用&#xff0c;简单高效。对于pyqt5的一些基本技巧&#xff0c;本文内容基本够用&#xff0c;可…

js jquery版本的 金额千分位转换函数(非正则,效率极高)

没想到js里面没有 金额千分位格式化的处理函数&#xff08;例&#xff1a;1,234.01 这样的格式&#xff09;&#xff0c;网上搜了一圈&#xff0c;都是使用正则的方式处理的。正则的效率不敢恭维啊&#xff0c;又耗费资源速度又慢&#xff08;虽然处理起来会直观一些&#xff0…

kubernetes安装过程

参考&#xff1a;http://rdc.hundsun.com/portal/article/740.mhtml http://blog.csdn.net/zjysource/article/details/52086835 注意点是&#xff1a;在master节点上配置 /etc/kubernetes/apiserver&#xff1a; kube_api_address一定要是0.0.0.0,要不然别的节点连接不上 转载…

Java执行shell遇到的各种问题

1、判断子进程是否执行结束 有的时候我们用java调用shell之后&#xff0c;之后的操作要在Process子进程正常执行结束的情况下才可以继续&#xff0c;所以我们需要判断Process进程什么时候终止。 Process类提供了waitFor()方法。该方法导致当前线程等待&#xff0c;直到Process线…