我希望在confirmExit()刷新页面时阻止调用该函数.有可能吗?
<script language="JavaScript">
window.onbeforeunload = confirmExit;
function confirmExit()
{
$.post("test.php");
}
</script>
Run Code Online (Sandbox Code Playgroud)
小智 5
对于您正在寻找的内容,控制刷新网页的最佳方法是使用 onKeyDown 函数。不幸的是,直接从浏览器按下刷新按钮将再次加载 DOM,因此从技术上讲,无法阻止此操作的刷新。
遇到同样的问题,我找到了这个网页http://asquare.net/javascript/tests/KeyCode.html,您可以在其中验证浏览器对键盘事件的响应。在这里,您可以开始弄清楚为什么 onKeyDown 是最佳选择。Chrome 不会对 onKeyPress 函数做出反应。
您只需要一个变量来控制刷新操作。如果用户按下该键,则不会执行 onBeforeUnload 操作。
var refresh = false; //Control variable to control refresh access
j$(window).bind('beforeunload', function(){
if (refresh == false) { // If F5 is not pressed
return "Do you really want to leave?";
}
});
j$(window).keydown(function(event) {
if (event.keyCode == 116) { // User presses F5 to refresh
refresh = true;
}
});
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
21121 次 |
| 最近记录: |