我需要在javascript / jquery中捕获刷新事件。我的整个页面都是由ajax加载的,我的意思是我的页面上的所有链接和所有表单都是由ajax请求发送的。现在,当用户刷新我的页面时,这个刷新事件会让我想要通过我的ajax请求实现所有功能,所以我真的需要捕获用户刷新调用并停止它们,然后将此刷新事件转发为ajax调用。
这甚至可能吗?而且我不想抓住F5按键 - 这是不够的。
答案 0 :(得分:4)
无法阻止每种形式的刷新。了解HTML5 pushState,以便您的用户可以轻松刷新并使用后退/前进按钮。
答案 1 :(得分:2)
<script type="text/javascript">
window.onbeforeunload = function() {
return "are you sure to leave this page";
}
</script>
答案 2 :(得分:1)
不幸的是,HTML5 History API不一致且有问题,此外它在所有HTML5浏览器中实现不同+与HTML4浏览器不兼容。
幸运的是,History.js是一项很好的工作,为HTML5浏览器提供交叉兼容性(确保所有HTML5浏览器按预期工作),并可选择为HTML4浏览器提供哈希回退(包括对数据,标题,pushState的维护支持)和replaceState功能)。