js標籤只有onload"onunload"onbeforeunload事件,而沒有onclose事件。不管頁面是關閉還是刷新都會執行onunload事件。如何捕捉到頁面關閉呢?
頁面加載時只執行onload
頁面關閉時只執行onunload
頁面刷新時先執行onbeforeunload,然後onunload,最後onload。這樣我們可以在onbeforeunload中加一個標記,在onunload中判斷該標記,即可達到判斷頁面是否真的關閉了。
1、
2
3var n = window.event.screenX - window.screenLeft;
4
5var b = n > document.documentElement.scrollWidth-20;
6
7
8 if(b && window.event.clientY < 0 || window.event.altKey) {
9
10alert("是關閉而非刷新");
11
12window.open(this.location);
13
14
15//return false;
16
17//window.event.returnValue = ""; }
18
19} else{
20
21alert("是刷新而非關閉");
22
23}
24
25}
26
2、
2
3//e = e ? e : windowevent;
4
5var promptString = '你是否要離開此頁面,離開該頁面的信息將不被保存!';
6
7//event.returnValue = promptString;
8
9return promptString;
10
11}
12
13 if (window != top){
14
15top.location.href = "www.baidu.com";
16
17 }else{
18
19 if (window.Event) {
20
21 window.onbeforeunload = function(event) {
22
23 return promptOnClose(event);
24
25 }
26
27 } else {
28
29 window.onbeforeunload = function() {
30
31 return promptOnClose(event);
32
33 }
34
35 }
36
37}