页面卸载事件在IE 9,10中随机无效

时间:2014-05-23 05:15:18

标签: javascript asp.net internet-explorer onbeforeunload

如果用户点击后退按钮/按F5 /尝试重新加载页面,我试图向用户发出警报。 我正在使用下面的脚本

<script type="text/javascript">

var testEvent = window.attachEvent || window.addEventListener;
var checkEvent = window.attachEvent ? 'onbeforeunload' : 'beforeunload';

testEvent (checkEvent , function (e) { 
 console.log(e);
 var hdnCountValue= $("#" + '<%=hdnCount.ClientID %>').val();
 console.log(hdnCountValue);
 if (hdnCountValue!= null && hdnCountValue!= "" && hdnCountValue!= 'undefined' && parseInt(hdnCountValue) > 0) {

     var msg = 'Warning: You will lose all your data.';  
     (e || window.event).returnValue = msg ;
                           return msg;
        }
});
</script>

它在Firefox和Chrome中运行良好。

但在IE9&amp; 10它有时工作&amp;有时不。 而且在safari中也可以使用,但是当用户选择留在页面上时它会更改URL,它会显示上一页的URL。

0 个答案:

没有答案