在浏览器中检测退按钮单击

在浏览器中检测退按钮单击

我必须检测用户是否单击了后退按钮。为此我用

window.onbeforeunload = function (e) {}

如果用户单击“后退”按钮,它就会工作。但是,如果用户单击浏览器的F5或重新加载按钮,也会触发此事件。我该怎么解决这个问题?


白衣非少年
浏览 348回答 3
3回答

慕的地10843

请尝试此操作(如果浏览器不支持“onpreunload”):jQuery(document).ready(function($) {   if (window.history && window.history.pushState) {     $(window).on('popstate', function() {       var hashLocation = location.hash;       var hashSplit = hashLocation.split("#!/");       var hashName = hashSplit[1];       if (hashName !== '') {         var hash = window.location.hash;         if (hash === '') {           alert('Back button was pressed.');         }       }     });     window.history.pushState('forward', null, './#forward');   }});

当年话下

我知道最好的方法         window.onbeforeunload = function (e) {             var e = e || window.event;             var msg = "Do you really want to leave this page?"             // For IE and Firefox             if (e) {                 e.returnValue = msg;             }             // For Safari / chrome             return msg;          };
打开App,查看更多内容
随时随地看视频慕课网APP