BOS*_*OSS 2 javascript browser internet-explorer
我关闭了浏览器时实现了一些功能.
window.onbeforeunload = function (evt) {
evt = (evt)? evt:event;
clickY = evt.clientY;
altKey = evt.altKey;
keyCode = evt.keyCode;
if (altKey == true && keyCode == 0){
//Make call to the server to clear the cache
}else if(clickY < 0){
//Make a call to the server to clear the cache
}else {
return;
}
};
Run Code Online (Sandbox Code Playgroud)
现在上面代码中的问题是,当我通过点击地址栏按Enter键或刷新页面时刷新按钮我的代码给了我警报("21112")我不想要因为呼叫只会触发而且只是如果浏览器关闭.所以有人可以帮助我实现这一目标.
window.onbeforeunload事件是在您的页面被unload编辑之前调用.没有方法可以检查它是刷新还是浏览器窗口关闭事件.
它由MSDN的不同场景引发:
anchor.click方法.document.write方法.document.close方法.window.close方法.window.navigate或NavigateAndFind方法.location.replace方法.location.reload方法.location.href属性指定新值.type=submit控件将表单提交到ACTION属性中指定的地址,或调用该form.submit方法.window.open方法,为_self窗口名称提供可能的值.document.open方法.你无法处理这个问题.
还要注意window.onbeforeunload事件应该通知用户他离开页面和处理函数应该是return字符串值,将包含在确认弹出窗口中(除了Firefox 4+看到bug).
您无法强制用户留在页面上.
注意:您唯一能做的onbeforeunload就是通知用户他要离开您的页面
(这是因为一些恶意页面可以打开其他页面等等......以及垃圾邮件用户.这是安全限制).
如果要在卸载窗口之前进行AJAX调用,则需要使用onunload事件.请注意,您的AJAX调用必须同步.异步调用不起作用.
| 归档时间: |
|
| 查看次数: |
2012 次 |
| 最近记录: |