'beforeunload'Chrome Issue

sko*_*kos 16 javascript jquery google-chrome

我有这段简单的代码 -

$(window).bind('beforeunload', function(){
    alert("Good Bye")
});
Run Code Online (Sandbox Code Playgroud)

适用于Firefox,IE8但不适用于Chrome.这是一个已知问题还是有其他替代方案?

实际上我想要做的是在用户试图关闭浏览器时记录细节.

function LogTime()
{
    jQuery.ajax({
      type: "POST",
      url: "log.php",
      data: "",
      cache: false,
      success: function(response)
      {
      }
    );
}

$(window).bind('beforeunload', function(){
    LogTime();
});
Run Code Online (Sandbox Code Playgroud)

这适用于Firefox,但不适用于Chrome

Sam*_*son 14

返回一个字符串:

$(window).on('beforeunload', function(){
    return "Good bye";
});?
Run Code Online (Sandbox Code Playgroud)


xda*_*azz 6

试试以下:

$(window).on('beforeunload', function(){
  return "Good Bye";
});
Run Code Online (Sandbox Code Playgroud)

  • 我不明白。哪里用了“再见”。 (2认同)

小智 5

我必须将其包含在jQuery(document).ready中以使其在chrome中工作

<script>
  jQuery(document).ready( 
    function () { 
      jQuery(window).bind('beforeunload',  
        function (e) {  

          [code here]

        } 
      );

    } 
  );
</script>
Run Code Online (Sandbox Code Playgroud)


小智 5

对所有浏览器尝试一下:

window.addEventListener("beforeunload", function (e) {

  var confirmationMessage = "\o/";     
  e.returnValue = confirmationMessage;           
  return confirmationMessage;       

});
Run Code Online (Sandbox Code Playgroud)

  • 这在 2021 年行不通了。 (4认同)