Envie o AJAX para o servidor beforeunload [duplicate]

Esta questão já tem uma resposta aqui:

JavaScript, navegadores, fechamento de janelas - envie uma solicitação AJAX ou execute um script no fechamento da janela 7 respostas

Então, supostamente começando no Firefox> 4, vinculando o objeto window jQuery abeforeunload não funciona mais.

O que eu gostaria de fazer é enviar uma postagem do AJAX para excluir os dados do memcache do meu servidor.

Quando atualizo a única guia aberta, vejo quebeforeunload event é chamado no firefox e chrome com o seguinte código, conforme evidenciado pela mensagem console.log, "firefox / NON-firefox delete". O problema é que eu nunca vejo a mensagem console.log "memcache delete" indicando que o meu servidor nunca viu o$.ajax pedido.

Eu percebo que é ruim fazer o sniffing do navegador e que não há diferença entre o que está incluído nas instruções if e else. Estou apenas mostrando código para o que eu tentei sem sucesso no Firefox.

Alguém tem alguma ideia?

$(window).bind('beforeunload', function(){ 
  if(/Firefox[\/\s](\d+)/.test(navigator.userAgent) && new Number(RegExp.$1) >= 4) {
    console.log('firefox delete');
     memcacheDelete();
     return null;
  } 
  else {
    console.log('NON-firefox delete');
    memcacheDelete();
    return null;
  }
});

function memcacheDelete() {
   $.ajax({
      url: "/memcache/delete", 
      type: "post",
      data:{}, 
      success:function(){
          console.log('memcache deleted');
      }//success
  }); //ajax
}

questionAnswers(2)

yourAnswerToTheQuestion