我有这段简单的代码 -
$(window).bind('beforeunload', function(){
alert("Good Bye")
});
适用于Firefox,IE8但不适用于Chrome。这是一个已知问题还是有其他替代方案?
实际上我想要做的是在用户试图关闭浏览器时记录细节。
function LogTime()
{
jQuery.ajax({
type: "POST",
url: "log.php",
data: "",
cache: false,
success: function(response)
{
}
);
}
$(window).bind('beforeunload', function(){
LogTime();
});
这适用于Firefox,但不适用于Chrome
返回一个字符串:
$(window).on('beforeunload', function(){
return "Good bye";
});
试试以下:
$(window).on('beforeunload', function(){
return "Good Bye";
});
我不得不将它包含在jQuery(文档).ready中以使其在chrome中运行
<script>
jQuery(document).ready(
function () {
jQuery(window).bind('beforeunload',
function (e) {
[code here]
}
);
}
);
</script>
试试这个浏览器: -
window.addEventListener("beforeunload", function (e) {
var confirmationMessage = "\o/";
e.returnValue = confirmationMessage;
return confirmationMessage;
});
试试这个:
function LogTime(){
jQuery.ajax({
type: "POST",
url: "log.php",
data: "",
cache: false,
success: function(response){
}
});
}
$(window).bind('beforeunload', function(){
LogTime();
return "You're leaving?";
});
似乎只要在函数体的末尾返回此事件的字符串,就可以在该字符串之前运行代码。
如果您需要在卸载文档之前发送一些分析数据,请选择navigator.sendBeacon()方法而不是XMLHttpRequest。
sendBeacon()方法旨在执行少量数据的非阻塞发送。
但首先检查canIuse report,因为该方法尚未在全球范围内得到支持。