所以onbeforeunload事件没有鼠标信息,那么如何获得鼠标XY呢?我试图知道用户是否点击浏览器上的关闭按钮立即将其注销(20分钟的会话对于资源来说太长了,但是,我们不会缩短它以使客户生气)。
在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);">
答案 0 :(得分:0)
您可以将鼠标移动填充到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);">