如何防止刷新页面
问题描述:
我需要在javascript/jquery中捕获刷新事件。我的整个页面由ajax加载,我的意思是我的页面上的所有链接和所有表单都是由ajax请求发送的。现在,当用户刷新我的页面时,这个刷新事件使我的ajax请求实现了我想要实现的所有功能,所以我真的需要捕获用户刷新调用并停止它们,然后将这个刷新事件转发为ajax调用。如何防止刷新页面
这可能吗?我不想赶上F5按键 - 这是不够的。
答
<script type="text/javascript">
window.onbeforeunload = function() {
return "are you sure to leave this page";
}
</script>
答
不幸的是,HTML5历史API是不一致的越野车,除了它是在所有的HTML5浏览器+不兼容HTML4浏览器不同的方式实现。幸运的是,History.js为HTML5浏览器提供了交叉兼容性(确保所有HTML5浏览器按预期工作),并可选地为HTML4浏览器提供散列回退(包括对数据,标题, pushState和replaceState功能)。
+1,请注意,在离开页面(链接,后退/前进等)的任何情况下,这当然会出现,但您可以添加自己的方式,至少关闭正常链接,等等 – 2013-04-09 15:11:53