如何检测用户离开我的页面?有点像stackoverflow,如果你已经开始写一篇文章。我已经在jQuery中尝试了$(window).unload(),但我无法让它工作。这种说法并不完全正确,在IE9中它可以工作,实际上有点太好了。如果页面刷新,它也会弹出。但在Chrome中,没有任何触发。 最佳答案 在您的代码中包含jQuery库,然后尝试一下$(window).bind('beforeunload',function(){return'DataTest';});JsFiddleDemo
我正在创建一个包含数百行的数据网格,其中每行包含一个复选框,以便用户可以从网格中选择一个项目。现在,用户可能会花费大量时间在网格中过滤/搜索并勾选所需的复选框,结果却不小心按下了键盘上的退格键或单击了页面上的超链接。而且他们会丢失所有的复选框选择。所以我想介绍一些功能,如果至少勾选了一个复选框,那么如果用户无意中做了一个将他们导航离开页面的操作,那么会显示一条JavaScript确认消息来通知用户这一点.复选框都属于同一个组,例如它会被称为“产品”。这有可能吗? 最佳答案 有一个beforeunload事件发生在用户导航离开时:ht
如果用户试图离开包含未保存设置的页面,我希望显示警告,但如果他们试图保存这些设置,显然不会显示警告。我想我的理解是错误的,因为我认为下面应该有效,但它没有。有人可以告诉我我做错了什么吗?谢谢。$('input[name="Submit"]').off('onbeforeunload');window.onbeforeunload=functioncloseEditorWarning(){/**Checktoseeifthesettingswarningisdisplayed*/if($('#unsaved-settings').css('display')!=='none'){bol_
如果用户试图离开未保存的编辑表单,弹出一个消息框“此页面要求您确认是否要离开-您输入的数据可能不会保存。离开页面并留在页面上”我们可以通过浏览器的一些特殊功能调用这个确认框吗?我想在AngularJS应用程序中实现它 最佳答案 Warlock的回答部分正确,但这样做会破坏可测试性。在Angular中,你会想要使用$window,你会想在你的表单上观看$dirty。您需要有一个命名表单,请注意下面的name="myForm"。然后你可以在$scope的表单上$watch$dirty:app.controller('MainCtrl',
是否可以在用户不在页面上时每分钟刷新一次网页?例如,如果我正在访问一个PageX并停留在页面上,它不会刷新,但是一旦我离开页面(即切换到另一个选项卡/窗口或程序),PageX就会每x分钟刷新一次还是秒?我该怎么做?谢谢。更新:“在页面上”意味着页面是当前窗口,即它有焦点。因此,如果PageX有一个弹出窗口的链接,比如100x100,点击打开弹出窗口,而页面在那个小弹出窗口后面仍然可见,它没有焦点,因此需要按照说明进行刷新以上。有什么不明白的请追问。更新2正如下面Mattk所建议的..以下似乎在Firefox(尚未检查最新版本)和Chrome中工作。在IE8中,如果我切换到另一个选项卡或
我想在用户离开页面之前进行AJAX调用(基本上是在离开页面之前和刷新页面之前)?如何做到这一点。我试图用jQuery搜索一些东西,但没有得到任何东西。我尝试使用下面的代码-window.onbeforeunload(function(){alert('beforeunload');});但是离开页面(关闭浏览器选项卡)或刷新页面时永远不会出现警告框。如何实现? 最佳答案 你应该试试unload()来自jquery:$(window).unload(function(){//Doyourcallalert('beforeunload'
BounceExchange找到了一种近乎完美的方法来检测用户是否会离开网站。他们基于跟踪鼠标手势、鼠标速度和浏览器平面的中断来执行此操作。如果他们检测到有人离开,他们会在灯箱上弹出一个弹出窗口。我无法通过以下方式模拟这一点:$("body").mouseleave(function(){jQuery('#avoid-bounce').show();});唯一的问题是这很烦人。即使它捕获了人,一旦他们离开body,它就会再次开火。考虑鼠标速度并允许事件仅触发一次的可能性有多大?我对JavaScript和jQuery还是很陌生,但我正在学习。 最佳答案
环境:WindowsServer2003-IIS6.xASP.NET3.5(C#)IE7、8、9FF(无论最新的10个版本是什么)用户场景:用户针对大型数据集输入搜索条件。发起请求后,他们将导航到结果页面,在那里等待数据加载,然后可以优化数据。技术场景:用户发送搜索条件(通过ajax调用)后,UI调用后端服务。后端服务查询事务系统并将结果数据放入数据库“缓存”——一个非规范化的表,用于进一步细化数据(即排序、过滤)。UI等待数据被缓存,然后在收到该过程已完成的通知后,导航到结果页面。生成的页面然后调用以从非规范化表中获取数据。问题:对于最终必须根据输入的条件查询许多系统的大型查询,搜索
这个Jquery问题已经困扰我一段时间了。我开发了一个脚本,其中一个功能是检测鼠标何时从页面顶部离开。这是代码:$(document).bind("mouseleave",function(e){console.log(e.pageY);if(e.pageYtimes[i][0]&&now.getTime()这对我来说适用于所有浏览器。由于某种原因,它在Chrome中随机运行,而对于测试该站点的friend来说,它在Firefox中似乎根本不起作用。在我的浏览器(firefox3.5.3)中,e.pageY在控制台框中记录为接近0的数字,但是在我的friend浏览器(也是firefox
我使用window.onbeforeunload在用户试图离开网站时显示自定义消息。例子:window.onbeforeunload=function(){if(some_condition){return"Areyousureyouwanttonavigateawayfromthispage?\nAllunsavedchangeswillbelost.";}};+--------------------------------------------------------+|Areyousureyouwanttonavigateawayfromthispage?||Allunsav