How to detect if the user clicked the “back” butto

2019-01-09 01:43发布

When the user goes history-back-1...how do I detect that? And then, alert "the user clicked back!"

Using binds (and jquery preferably)

5条回答
女痞
2楼-- · 2019-01-09 01:51

try:

window.onbeforeunload = function (evt) {
  var message = 'Are you sure you want to leave?';
  if (typeof evt == 'undefined') {
    evt = window.event;
  }
  if (evt) {
    evt.returnValue = message;
  }
  return message;
}
查看更多
Bombasti
3楼-- · 2019-01-09 01:55

You generally can't (browser security restriction). You can tell if the user navigates away from the page (onbeforeunload, onunload fire) but you can't tell where they went unless you've set up your page to allow it.

HTML5 introduces the HTML5 History API; in conforming browsers, the onpopstate event will fire if the user navigates back to an earlier "page" on your site.

查看更多
不美不萌又怎样
4楼-- · 2019-01-09 01:57

On the page you are looking at, you can add this piece of code to the onLoad event to move them back the page they were on.

if(history.length>0)history.go(+1)

If you want the alert then make it

if(history.length>0)alert("the user clicked back!")
查看更多
The star\"
5楼-- · 2019-01-09 02:04
window.onpopstate=function()
{
  alert("Back/Forward clicked!");
}
查看更多
贼婆χ
6楼-- · 2019-01-09 02:08

Following are the steps to detect back button click

  1. Register a mouse down event on body $('body').on('mousedown' ,'on all li' );

    2.Now set a variable when mousedown event occur.

    3.Check this variable when your location changes.

IF variable chages to true it means list cliked otherwise backbutton

This work in my usecase .This solution may helps others because it depends on app design

查看更多
登录 后发表回答