在浏览器重新加载/关闭浏览器/退出页面之前执行Javascript函数
Execute Javascript function before browser reloads/closes browser/exits page?
在用户选择重新加载/关闭浏览器/退出页面之前,是否有方法执行函数?
我需要这个"在线/离线"状态功能,我正在尝试写。我想检测用户是否仍在页面上。
有什么想法吗?:)
也许有更好的方法?
内联函数:
window.onbeforeunload = function(evt) {
// Cancel the event (if necessary)
evt.preventDefault();
// Google Chrome requires returnValue to be set
evt.returnValue = '';
return null;
};
或通过事件监听器(推荐):
window.addEventListener("beforeunload", function(evt) {
// Cancel the event (if necessary)
evt.preventDefault();
// Google Chrome requires returnValue to be set
evt.returnValue = '';
return null;
});
或者如果你有jQuery:
$(window).on("beforeunload", function(evt) {
// Cancel the event (if necessary)
evt.preventDefault();
// Google Chrome requires returnValue to be set
evt.returnValue = '';
return null;
});
注:
当此事件返回非void值时,系统会提示用户确认页面卸载。在大多数浏览器中事件显示在此对话框中。
自2011年5月25日起,HTML5规范规定调用window.showModalDialog()、window.alert()、windows.confrm()和window.prompt()方法在此事件期间可能被忽略。
请参阅上的文档https://developer.mozilla.org/en-US/docs/Web/API/WindowEventHandlers/onbeforeunload
使用window.obeforeunload,当用户离开页面时会触发:http://geekswithblogs.net/hmloo/archive/2012/02/15/use-window.onbeforeunload-event-to-stop-browser-from-closing-or-disable.aspx
试试这个:
$( window ).unload(function() {
alert( "Handler for .unload() called." );
});
或者如果你想要确认警报
<script>
window.onbeforeunload = function(e) {
return 'Your dialog message';
};
</script>
相关文章:
- 在Windows 10中自动执行例行程序(主要与浏览器交互)
- 我想用Javascript网站在开放的Chrome浏览器上执行功能
- Chrome浏览器“;挂起”;同时在循环中执行AJAX请求
- 片段uri's未在浏览器上执行
- 适用于多种浏览器的Selenium-需要能够执行javascript的webDriver
- 从浏览器访问页面时执行js函数's后退按钮
- 如何在关闭浏览器的同时执行php函数
- 如何在浏览器中执行对比度拉伸/规范化
- 如何在Javascript执行后防止浏览器锁定
- 基于浏览器窗口大小的条件 JavaScript 执行
- AJAX 调用在获得响应并成功执行时会冻结浏览器一段时间
- 为什么未执行的评估对某些浏览器中的行为有影响
- 修改时,哪些DOM元素属性会导致浏览器执行回流操作
- 从浏览器执行.EXE文件
- Rails 4 - 强制浏览器执行javascript响应而不是显示文本
- 如何在浏览器执行javascript后获得HTML代码
- google-chrome(浏览器)执行方法调用,其结果从未使用(对于RuntimeTest)
- 直接从浏览器执行JavaScript文件
- Node.js不从浏览器执行DB函数
- 如何防止浏览器执行一些JavaScript时,用户单击后退按钮