javascript - js 怎么区分浏览器tab刷新还是关闭

查看:76
本文介绍了javascript - js 怎么区分浏览器tab刷新还是关闭的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

问 题

网上用unbeforeunload 常见的解决办法都试了 不管用

解决方案

<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <title>Document</title>
</head>
<script src="js/jquery-1.12.3.min.js"></script>
<script>
    var currentKeyCode = -1, altkey = false, rightKey = false, pageY = 0, listernType = null;
    $(window).keydown(function () {
        top.altkey = event.altKey;
        top.currentKeyCode = event.keyCode;
    });
    $(document).on("contextmenu", function (e) {
        rightKey = true;

    });
    function isReloadOrClose(event) {
        var msg = null;
        if (currentKeyCode == 116 || rightKey) {
            //116:F5
            if (currentKeyCode == 116) {
                msg = "刷新窗口!(F5)";
            }
            if (rightKey) {
                msg = "右键刷新窗口!";
            }
            top.listernType = "reload";
        } else {
            msg = "点击关闭窗口";
            top.listernType = "close";
            if ((altkey || currentKeyCode == 18) || (currentKeyCode == 115)) {
                msg = "关闭窗口!(alt+F4)";
            }
            if (currentKeyCode == 91) {
                msg = "Mac关闭窗口!(commad)";
            }
        }
        currentKeyCode = -1, altkey = false, rightKey = false, pageY = 0, listernType = null;
        console.log(msg)
        return msg;
    }
    window.onbeforeunload = function (event) {
        return isReloadOrClose(event)
    }

</script>


<body>

</body>

</html>

这篇关于javascript - js 怎么区分浏览器tab刷新还是关闭的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆