navigator.userAgent在判断浏览器版本时,需要自己核对下,不同的浏览器返回的window.history.length值也不同,需要特殊情况特殊处理,但核心逻辑就是如此,先判断浏览器版本,再针对存在返回页的window.history.length值和不存在返回页的window.history.length值的不同进行处理。
  1. /**
  2. * 返回前一页(或关闭本页面)
  3. *
  4. 如果没有前一页历史,则直接关闭当前页面
  5. */
  6. function GoBack() {
  7. if ((navigator.userAgent.indexOf('MSIE') >= 0) && (navigator.userAgent.indexOf('Opera') < 0)) { // IE
  8. if (history.length > 0) {
  9. window.history.go(-1);
  10. } else {
  11. window.location.href = 'http://www.58nin.com/';
  12. }
  13. } else { //非IE浏览器
  14. if (navigator.userAgent.indexOf('Firefox') >= 0 ||
  15. navigator.userAgent.indexOf('Opera') >= 0 ||
  16. navigator.userAgent.indexOf('Safari') >= 0 ||
  17. navigator.userAgent.indexOf('Chrome') >= 0 ||
  18. navigator.userAgent.indexOf('WebKit') >= 0) {
  19. if (window.history.length > 2) {
  20. window.history.go(-1);
  21. } else {
  22. window.location.href = 'http://www.58nin.com/';
  23. }
  24. } else {//未知的浏览器
  25. if (history.length > 1) {
  26. window.history.go(-1);
  27. } else {
  28. window.location.href = 'http://www.58nin.com/';
  29. }
  30. }
  31. }
  32. }

JS返回前一页(或关闭本页面,返回首页)相关推荐

  1. js中实现页面跳转(返回前一页、后一页)

    一:JS 重载页面,本地刷新,返回上一页 代码如下: <a href="javascript:history.go(-1)">返回上一页</a>  < ...

  2. JQuery返回前一页

    转:http://www.jb51.net/article/32749.htm 1.JS 重载页面,本地刷新,返回上一页 <a href="javascript:history.go( ...

  3. java跳转页面后再跳回前一个页面_js中实现页面跳转(返回前一页、后一页)

    一:JS 重载页面,本地刷新,返回上一页 代码如下: 返回上一页 重载页面,本地刷新 返回上一页重载页面,本地刷新 返回前二页并刷新的JS代码应该怎样写. 代码如下: history.go(-2); ...

  4. js 返回上一页和刷新以及页面跳转

    1. Javascript 返回上一页history.go(-1), 返回两个页面: history.go(-2); 2. history.back(). 3. window.history.forw ...

  5. js实现返回上一页后刷新历史页面

    <input type="button" value="返回" οnclick="javascript:window.location.repl ...

  6. vue 新建的页面如何访问_Vue.js—实现前后端分离架构中前端页面搭建(四)(完)...

    [Vue.js实现前后端分离架构中前端页面搭建] 二十.实现服务端登录业务 前提:已经有单机版Eureka,端口8761.启动开Eureka 1. 新建父项目 新建backend_parent. 为了 ...

  7. javascript 跳转页面 关闭当前页面 返回上页面

    //跳转页面 1.window.location.href     //跳转到的页面 2.如何有form  表单的话 document.form[0].action  =  //跳转的action  ...

  8. php执行成功后返回前一页并刷新页面

    这个问题是群里有人问的. 他有一个退出的页面logout.php,希望用户在点击退出按钮后退出登录状态,并返回之前的页面. 他写的代码如下: <?php echo "<scrip ...

  9. vue 返回上一页传参_H5页面与微信小程序相互跳转并传参(web-view)

    H5页面用vue2.全家桶写的. 一.vue代码编写vue中路由的编写 1)vue init webpack test 2)/src/router/index.js中引入路由组件 import Ind ...

最新文章

  1. 深度学习多变量时间序列预测:卷积神经网络(CNN)算法构建时间序列多变量模型预测交通流量+代码实战
  2. 什么是云计算基础设施? | 技术头条
  3. 数组翻转_LeetCode刷题实战151:翻转字符串里的单词
  4. mysql数据库连接空闲超时设置不生效,未区分全局变量及interactive_timeout设置
  5. USB VIDPID 表
  6. matlab绘制直方图的方法
  7. 同态加密 bootstrapping自举算法
  8. FTP在资源管理器里打不开
  9. 【GitHub】GitHub上指定文件夹轻松下载
  10. C# 在wpf中如何使用image
  11. 快手在线查询权重网站源码+接口
  12. MATLAB添加噪声
  13. 【流程挖掘的四个质量维度】简单度、拟合度、精确度和泛化度介绍
  14. IOT(24)---物联网网关
  15. 802协议族太网帧格式
  16. 解决Simplify chained comparison
  17. 多媒体技术及应用-(1)
  18. Python NO.4
  19. 身体语言密码_【微观心境】| 身体语言知多少!
  20. 非常道-中小软件公司项目管理(3.1 性格测试)

热门文章

  1. Microblaze程序固化流程
  2. Py4JJavaError /Library/Frameworks/Python.framework/Versions/3.5/bin/python3: error=2, No such file
  3. android烤机按键变慢,Android8.0平台Camera monkey拷机卡死异常
  4. 在高分辨率或者扩展屏下微信截图出现放大问题的解决
  5. kerberos中的spn详解
  6. 都在这儿!最全的北斗厂家企业名单!
  7. PyEcharts 之旭日图
  8. 十个要点让你的渲染更好
  9. java 字数_java 字数统计
  10. 邮箱名不允许服务器响应,C#发送邮件时提示:“不允许使用邮箱名称。服务器响应为:”的错误解决办法...