在javascript/jquery中检测浏览器后退按钮而不使用任何外部插件

Siv*_*ini 5 html javascript jquery internet-explorer back-button

我想在不使用任何外部插件的情况下检测java-script/jquery中的浏览器后退按钮.

我将支持以下浏览器

IE8,IE9,火狐,Chrome

我搜索了这么多链接,并在代码项目下面找到了部分代码

<body onbeforeunload=”HandleBackFunctionality()”>

function HandleBackFunctionality()
{
    if(window.event)
   {
        if(window.event.clientX < 40 && window.event.clientY < 0)
        {
            alert("Browser back button is clicked...");
        }
        else
        {
            alert("Browser refresh button is clicked...");
        }
    }
    else
    {
        if(event.currentTarget.performance.navigation.type == 1)
        {
             alert("Browser refresh button is clicked...");
        }
        if(event.currentTarget.performance.navigation.type == 2)
        {
             alert("Browser back button is clicked...");
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

上面的代码工作正常的IE浏览器.这意味着我可以在IE浏览器中获取window.event.clientX和clientY值.但在chrome/firefox中无法正常工作.

单击浏览器后退按钮时,我需要刷新页面.

如何在所有浏览器中检测浏览器后退按钮点击事件(IE,Firefox,Chrome)

任何帮助,将不胜感激.

Ham*_*mix 4

可以简单地将其放入您的网页中,当用户单击返回时,它将调用一个函数。此调用的默认函数是 javascript 警报 \xe2\x80\x9cBack Button Clicked\xe2\x80\x9d。

\n\n

要替换此功能,您只需重写 OnBack 函数即可。这可以通过使用下面的代码来完成。

\n\n
<script type="text/javascript">\nbajb_backdetect.OnBack = function()\n{\n   alert(\'You clicked it!\');\n}\n</script>\n
Run Code Online (Sandbox Code Playgroud)\n\n

现在,这会将 \xe2\x80\x9cBack Button Clicked\xe2\x80\x9d 警报替换为 \xe2\x80\x9cYou clicked it!\xe2\x80\x99\xe2\x80\x9d 警报。
\n支持以下浏览器\nIE8、IE9、FireFox、Chrome
\n浏览器后退按钮检测
\n或使用jquery
\n捕获浏览器后退
\n使用标准javascript
\n使用 Javascript 掌握后退按钮

\n