Javascript 用JS离开页面后做些什么
当用户离开我的页面时,我需要做一些后端处理。我的JS代码运行良好:Javascript 用JS离开页面后做些什么,javascript,php,jquery,frontend,Javascript,Php,Jquery,Frontend,当用户离开我的页面时,我需要做一些后端处理。我的JS代码运行良好: if (window.addEventListener) { // all browsers except IE before version 9 window.addEventListener("beforeunload", OnBeforeUnLoad, false); } else { if (window.attachEvent) { // IE before version 9 w
if (window.addEventListener) { // all browsers except IE before version 9
window.addEventListener("beforeunload", OnBeforeUnLoad, false);
}
else {
if (window.attachEvent) { // IE before version 9
window.attachEvent("onbeforeunload", OnBeforeUnLoad);
}
}
function OnBeforeUnLoad () {
return "Are you sure?";
}
但我的onbeforeuload
函数必须包含一个$。当用户在浏览器自动提示的对话框中按OK时,ajax
调用可以在服务器端执行某些操作。这样做是行不通的:
function OnBeforeUnLoad () {
if (confirm("Are you sure?")){
$.ajax({
type: "POST",
url: "../wp-content/scripts/removedemo.php",
data: "s="+UserSession.encodedurl,
success: function(data){}
});
}
}
任何帮助都将不胜感激。使用
setimeout
函数将执行延迟几秒钟。以下是您的代码:setTimeout(OnBeforeUnLoad, 10);
function OnBeforeUnLoad () {
if (confirm("Are you sure?")){
$.ajax({
type: "POST",
url: "../wp-content/scripts/removedemo.php",
data: "s="+UserSession.encodedurl,
success: function(data){}
});
}
}
重复当用户确认他/她想离开时,我不能做任何事情吗?所以这种对话纯粹是信息,不是吗?我需要删除以前创建的文件夹+文件:\n这样做能实现什么?没有
$的代码。当我离开页面时,ajax
函数不会发出任何提示。你的问题是,你想在重新加载页面之前通过ajax连接到服务器端。它可以工作。但唯一的问题是在一定的延迟后,它会再次显示确认框。需要解决这个问题。