2010-08-30 62 views
0

以下一段代码警告IE中的鼠标位置,但在Firefox和其他浏览器中,它警告“未定义”。firefox中的onbeforeunload事件处理问题

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

function test(e){ 
    if (!e) var e = window.event; 
    alert(e.clientX); 
} 

上面的代码是让鼠标的位置,当浏览器窗口关闭了,劝我需要如何修改上面的代码返回在所有浏览器

我的要求是将鼠标打开位置一个新窗口只有当一个浏览器关闭,并且不是页面刷新。是否有其他方式可以在所有浏览器中检测到浏览器关闭?

+0

http://stackoverflow.com/questions/7389554/crossbrowser-onbeforeunload/10812296 – Aelios 2014-05-13 09:03:24

回答

0

只需添加鼠标移动处理程序,将存储在变量鼠标位置,这样的:

<body onbeforeunload="test(event);" onmousemove="storeMouse(event);"> 

var mouse; 
function storeMouse(e) 
{ 
    if(!e) e = window.event; 
    mouse = {clientX: e.clientX, clientX:e.clientY}; 
} 


function test(e){ 
    alert(mouse.clientX); 
} 
+0

由于亚历,上面的代码返回鼠标坐标。但我不能概括这一规则。有一次,当我关闭浏览器时,clientX&clientY警报(0,345)。下一次警报(372,45)。关闭(X)按钮旁边的坐标如果((window.event.clientX <0 || window.event.clientY <0) {window.open(“...”))需要在浏览器中概括如下代码在FF中工作: S因为每当鼠标指向关闭按钮时,我都会得到极其不同的坐标范围,所以我不能写出类似于上面的条件。请你对此有所了解? – Eifel 2010-08-30 11:47:09