JS判斷瀏覽器是否是關閉

js標籤只有onload"onunload"onbeforeunload事件,而沒有onclose事件。不管頁面是關閉還是刷新都會執行onunload事件。如何捕捉到頁面關閉呢?
頁面加載時只執行
onload
頁面關閉時只執行
onunload
頁面刷新時先執行onbeforeunload,然後onunload,最後onload。這樣我們可以在onbeforeunload中加一個標記,在onunload中判斷該標記,即可達到判斷頁面是否真的關閉了。

 1、

 1 window.onbeforeunload = function() 
 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、

 

 

 1  function promptOnClose(e){
 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}

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章