我有这段简单的代码 -
$(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
答案 0 :(得分:14)
返回一个字符串:
$(window).on('beforeunload', function(){
return "Good bye";
});
答案 1 :(得分:6)
尝试以下:
$(window).on('beforeunload', function(){
return "Good Bye";
});
答案 2 :(得分:4)
我必须将它包含在jQuery(文档).ready中才能使它在chrome
中运行<script>
jQuery(document).ready(
function () {
jQuery(window).bind('beforeunload',
function (e) {
[code here]
}
);
}
);
</script>
答案 3 :(得分:3)
为所有浏览器试试这个: -
SELECT rpcf.place_id
FROM rel_place_custom_fields rpcf
WHERE
(
(rpcf.field_id = 21 AND rpcf.field_value = 'Italy')
AND
(rpcf.field_id = 22 AND rpcf.field_value = 'XL')
)
答案 4 :(得分:2)
试试这个:
function LogTime(){
jQuery.ajax({
type: "POST",
url: "log.php",
data: "",
cache: false,
success: function(response){
}
});
}
$(window).bind('beforeunload', function(){
LogTime();
return "You're leaving?";
});
似乎只要在函数体的末尾返回此事件的字符串,就可以在该字符串之前运行代码。
答案 5 :(得分:0)
如果您需要在卸载文档之前发送一些分析数据,请选择navigator.sendBeacon()方法而不是XMLHttpRequest。
sendBeacon()方法旨在执行少量数据的非阻塞发送。
但请先检查canIuse report,因为该方法尚未全局支持。