如何在用户关闭浏览器/选项卡之前激活功能
How to activate a function before user close browser/tab?
如何在用户关闭浏览器/选项卡之前激活一个功能?
下面是我的ajax请求<script language="JavaScript" type="text/javascript">
function srh_ajaxfunction_cny(id)
{var xmlhttp;
try{xmlhttp=new XMLHttpRequest();}
catch (e){try{xmlhttp=new ActiveXObject("msxml2.xmlhttp");}
catch (e){try{xmlhttp=new ActiveXObject("microsoft.xmlhttp");}
catch (e){alert("Your browser does not support ajax!");
return false;}}}
xmlhttp.onreadystatechange=function(){
if(xmlhttp.readyState==4){
alert('done')
}}
xmlhttp.open("get",url_path,true);
xmlhttp.send(null);
}
</script>
使用beforeunload
事件。通常,如果在该处理程序中有异步操作,浏览器不会等待它们完成,而会继续进行页面卸载(在ajax调用到达服务器之前有效地中断它)。
有一些技巧可以确保ajax在浏览器卸载页面之前通过。其中之一(例如用于跟踪你在网页上的行为的服务)是做一个循环,像这样:
window.addEventListener('beforeunload', function() {
// number of miliseconds to hold before unloading page
var x = 200;
var a = (new Date()).getTime() + x;
// -----------
// your ajax call goes here
// -----------
// browser will hold with unloading your page for X miliseconds, letting
// your ajax call to finish
while ((new Date()).getTime() < a) {}
}, false)
使用此函数:
$(window).bind('beforeunload', function() {
//do your stuffs
});
绑定onbeforeunload
事件
你可以附加一个功能到window.onbeforeunload
,但chrome不允许你执行任何其他代码。您只能返回一个特定的字符串,该字符串将在用户离开之前显示。
相关文章:
- 来自“选择”选项的 HTML 画布功能
- 辅助功能键盘专用选项卡到z索引“;返回顶部”;
- 选项卡分组和选项卡着色:如何将此功能应用于从我的网页打开的选项卡,而不考虑浏览器
- 通过自定义JS功能激活Sencha Touch选项卡
- 更改选择选项下拉列表与onclick功能按钮
- 是的,没有带有链接的JavaScript删除功能的选项
- 如何将“功能选项卡”添加到谷歌的块
- 使用带有“慢速”选项的切换时功能中断
- 如何在输入下从数据列表中选择一个选项后立即触发功能
- 选项卡按钮功能
- 如何在UI选择菜单中为每个选项指定选择功能
- 如果我们在表格标题中有可编辑的文本,选项卡功能将无法正常工作
- DevBridge JQuery 自动完成功能,可从建议的选项中进行多项选择
- 如何将道具功能更改为使用选项
- 如何防止 JQuery 中的默认选项卡切换功能
- 解决选项卡功能中的错误
- 在选项卡的点击功能上初始化猫头鹰轮播
- jQuery 用于选项卡的功能不起作用
- 更改所选选项功能的输入
- 创建删除后撤销选项/功能