gpt4 book ai didi

javascript - 当 Firefox 鼠标事件不存在时,在 onbeforeunload 上获取它?

转载 作者:行者123 更新时间:2023-11-28 10:29:04 25 4
gpt4 key购买 nike

所以onbeforeunload事件没有鼠标信息,那么如何获取鼠标XY呢?我想知道用户是否单击浏览器上的关闭按钮立即注销(20 分钟的 session 对于资源来说太长,但是,我们不会缩短它以使客户生气)。

在 IE 上,我可以简单地访问鼠标信息来确定用户在 onbeforeunload 期间是否单击了关闭按钮。对于 FF,我想使用参数化事件,遗憾的是它根本没有鼠标信息。

(注意,如果存在真正的 onBrowserClose 事件,则不需要这样做。由于情况并非如此,我正在研究替代方案。)

谢谢大家。

为了确保人们理解它,这里是一个例子。

<head runat="server">
<title>Untitled Page</title>
<script type="text/javascript">
function test(event) {
var X = window.event ? window.event.screenX : event.clientX;

// IE only because event.clientX for FF = fail.
if (X == null) {
alert("No X");
return;
}
};
</script>

</head>
<body onbeforeunload="test(event);">

最佳答案

您可以将鼠标移动填充到 mousemove 事件的变量中,然后在 onbeforeunload 事件中使用这些变量...

<head runat="server">
<title>Untitled Page</title>
<script type="text/javascript">
var X = 0;

function MouseMoveHandler(event) {
X = window.event ? window.event.screenX : event.clientX;

// IE only because event.clientX for FF = fail.
if (X == null) {
alert("No X");
return;
}
};

function BeforeUnloadHandler() {
alert(X);
}
</script>

</head>
<body onbeforeunload="BeforeUnloadHandler();" onmousemove="MouseMoveHandler(event);">

关于javascript - 当 Firefox 鼠标事件不存在时,在 onbeforeunload 上获取它?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3560035/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com