在关闭浏览器窗口之前调用 URL [重复]
Posted
技术标签:
【中文标题】在关闭浏览器窗口之前调用 URL [重复]【英文标题】:Call URL before closing of Browser Window [duplicate] 【发布时间】:2010-10-13 19:54:45 【问题描述】:我想在网页的卸载功能中调用 URL,但在卸载功能中,获取请求不起作用。我的代码如下所示:
$(window).unload( function ()
jQuery.get("someurl")
);
我们希望收到有关关闭某些用户操作记录的窗口的通知。有没有可能?
如果我在 jQuery.get() 之后添加一个 alert(),Get-Request 有足够的时间来执行此操作,但这不是我们喜欢的。
【问题讨论】:
【参考方案1】:用途:-
jQuery.ajax(url:"someurl", async:false)
【讨论】:
【参考方案2】:您需要直接使用 onbeforeunload 事件。在这种情况下,您可以触发 ajax 调用。这是 jQuery 没有真正帮助的地方(还)。几个注意事项:
不要从 onbeforeunload 事件返回任何内容,否则浏览器将向用户显示“您确定要离开此页面”弹出窗口
如果您使 ajax 调用同步,它将在运行时停止页面卸载。如果将其设为异步,则页面将在调用运行时更改(您只是不能为该调用使用 javascript 事件处理程序)。由于 jQuery 连接了事件处理程序,因此它的 ajax 支持在这里没有那么有用。
window.onbeforeunload = function()
var URL = 'someplace';
var request = null;
if (window.XMLHttpRequest)
request = new XMLHttpRequest();
else if (window.ActiveXObject)
request = new ActiveXObject("Microsoft.XMLHTTP");
if (request)
request.open("GET", URL, false);
request.send();
【讨论】:
onBeforeUnload 事件不是标准的,因此不应使用...例如,Opera 不支持它。以上是关于在关闭浏览器窗口之前调用 URL [重复]的主要内容,如果未能解决你的问题,请参考以下文章