Javascript 如何防止页面刷新
我需要捕获javascript/jquery中的刷新事件。我的整个页面都是通过ajax加载的,我的意思是页面上的所有链接和表单都是通过ajax请求发送的。现在,当用户刷新我的页面时,这个刷新事件正在刷新我想要通过ajax请求实现的所有功能,所以我真的需要捕获用户刷新调用并停止它们,然后将这个刷新事件作为ajax调用转发Javascript 如何防止页面刷新,javascript,jquery,ajax,html,Javascript,Jquery,Ajax,Html,我需要捕获javascript/jquery中的刷新事件。我的整个页面都是通过ajax加载的,我的意思是页面上的所有链接和表单都是通过ajax请求发送的。现在,当用户刷新我的页面时,这个刷新事件正在刷新我想要通过ajax请求实现的所有功能,所以我真的需要捕获用户刷新调用并停止它们,然后将这个刷新事件作为ajax调用转发 这可能吗?我不想抓住F5键,这是不够的。不可能阻止每种形式的刷新。了解,以便用户可以轻松刷新和使用后退/前进按钮 window.onbeforeunload=函数(){ re
这可能吗?我不想抓住F5键,这是不够的。不可能阻止每种形式的刷新。了解,以便用户可以轻松刷新和使用后退/前进按钮
window.onbeforeunload=函数(){
return“您确定要离开此页面吗”;
}
不幸的是,HTML5历史API不一致且存在缺陷,此外,它在所有HTML5浏览器中的实现方式不同+与HTML4浏览器不兼容
幸运的是,History.js为HTML5浏览器提供了良好的交叉兼容性(确保所有HTML5浏览器都能按预期工作),并可选地为HTML4浏览器提供哈希回退(包括对数据、标题、pushState和replaceState功能的维护支持)。+1,请注意,这当然会出现在任何离开页面的情况下(链接、后退/前进等),但您可以添加自己的方式,至少关闭正常链接等
<script type="text/javascript">
window.onbeforeunload = function() {
return "are you sure to leave this page";
}
</script>