How do I detect changes in a JavaScript client's connection state?

You can detect your local connection state to the internet on any JavaScript ready devices such as mobile phones and web browsers. Use advanced parameters and register the following callbacks (which fire during connection state changes):

    <div pub-key="demo" sub-key="demo" id="pubnub"></div>
    <script src="http://cdn.pubnub.com/pubnub.min.js"></script>
    <script>
    (function(){
        // listen for messages
        PUBNUB.subscribe({ 
            // connect to a channel 
            channel : "channel_abc", 
            // resubscribe and reconnect
            restore : true, 
            // message received 
            callback : function() {alert(JSON.stingify(m))}, 
            //  conneciton lost
            disconnect : function() {alert("Connection Lost!")}, 
            // connection restored 
            reconnect : function() {alert("And we're Back!")}, 
            // connection established 
            connect : function() { 
                // send a message 
                PUBNUB.publish({ 
                    channel : "channel_abc", 
                    message : "Hi from PubNub." 
                }) 
            }
        })
    })();
    </script>