javascript onbeforeunload 事件问题

如题:
在html中加入onbeforeunload事件,关闭或刷新等动作,会触发该事件,
但如果该html被iframe中引用,在ie10中则会触发两次事件,求大神详解原因.

楼主这个问题是BOM中一个关于frame与window对象的问题。
1.一般的HTML页面只有一个window对象,而带有frame的HTML页面不是这样,有多个window对象,包括一个总window对象,而其他frame对象也是window对象,并放在frames数组中;
2.onbeforeunload是window的一个方法,如果此时HTML页面中有一个frame,就会有2个window对象,点关闭或刷新触发方法后,方法会执行2次。
3.如何杜绝这种现象呢?在onload方法中将this(window对象)作为参数传递到触发事件中去
4.上代码说明区别。

main.html

 <html>

<head>

<title>onunload测试</title>

<script>
function checkLeave(obj){
        if(typeof obj =='object')
        {
        alert("欢迎下次再来主界面!");
        }
  }

</script>

</head>

<body onunload="checkLeave(this)">
    主页面
    <iframe src="frame.html"/>  
</body>

</html>

frame.html

 <html>

<head>

<title>onunload测试</title>

<script>
function checkLeave(obj){
        if(typeof obj =='object')
        {
        alert("欢迎下次再来frame界面!");
        }
  }

</script>

</head>

<body onunload="checkLeave(this)">
    frame页面
</body>

</html>