Como detectar cross-browser de eventos online / offline?

Estou tentando detectar com precisão quando o navegador fica offline, usando os eventos online e offline do HTML5.

Aqui está o meu código:

<script>
    // FIREFOX
    $(window).bind("online", applicationBackOnline); 
    $(window).bind("offline", applicationOffline);

    //IE
    window.onload = function() {
        document.body.ononline = IeConnectionEvent;
        document.body.onoffline = IeConnectionEvent;
    } 
</script>

Funciona bem quando eu clico em "Trabalhar offline" no Firefox ou no IE, mas funciona meio aleatoriamente quando eu realmente desconecto o cabo.

Qual é a melhor maneira de detectar essa alteração? Eu gostaria de evitar repetir chamadas ajax com tempos limite.

questionAnswers(14)

yourAnswerToTheQuestion