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}

你可能感兴趣的:(JS判断浏览器是否是关闭)