为了账号安全,请及时绑定邮箱和手机立即绑定

JavaScript或jQuery浏览器后退按钮单击检测器

JavaScript或jQuery浏览器后退按钮单击检测器

翻阅古今 2019-09-24 11:00:53
有人可以分享经验/代码,如何检测浏览器的后退按钮单击(适用于任何类型的浏览器)?我们需要迎合所有不支持HTML5的浏览器
查看完整描述

3 回答

?
呼如林

TA贡献1798条经验 获得超3个赞

“ popstate”事件仅在您之前推送内容时有效。因此,您必须执行以下操作:


jQuery(document).ready(function($) {


  if (window.history && window.history.pushState) {


    window.history.pushState('forward', null, './#forward');


    $(window).on('popstate', function() {

      alert('Back button was pressed.');

    });


  }

});

为了使浏览器向后兼容,我建议:history.js


查看完整回答
反对 回复 2019-09-24
?
温温酱

TA贡献1752条经验 获得超4个赞

有很多方法可以检测用户是否单击了“后退”按钮。但是,一切都取决于您的需求。尝试浏览下面的链接,它们对您有帮助。


检测用户是否按下了当前页面上的“返回”按钮:


有没有一种方法可以使用Jquery检测跨浏览器被按下的后退按钮

检测浏览器中的后退按钮单击

在按下上一页(“前进”)上的“返回”按钮后,检测是否访问了当前页面:


单击“后退”按钮时是否存在跨浏览器的onload事件?

在浏览器后退按钮上触发事件单击


查看完整回答
反对 回复 2019-09-24
?
梦里花落0921

TA贡献1772条经验 获得超5个赞

发现这可以跨浏览器和移动back_button_override.js很好地工作。


(为野生动物园5.0添加了一个计时器)


// managage back button click (and backspace)

var count = 0; // needed for safari

window.onload = function () { 

    if (typeof history.pushState === "function") { 

        history.pushState("back", null, null);          

        window.onpopstate = function () { 

            history.pushState('back', null, null);              

            if(count == 1){window.location = 'your url';}

         }; 

     }

 }  

setTimeout(function(){count = 1;},200);


查看完整回答
反对 回复 2019-09-24
  • 3 回答
  • 0 关注
  • 899 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信