2010-08-30 82 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