Document Visibility jQuery doesnt work

by tomprogramming

JavaScript

var getFirstDefinedValue  = function(){
    var i, arg, max;
    for(i = 0, max = arguments.length; i < max; i++){
        arg = arguments[i];
        if (typeof arg !== 'undefined'){
            break;
        }
    }
    
    return arg;
    
};

//this will work in every browser except chrome/Safari 6- since the former doesnt fire this event (instead fires webkitvisibilitychange) and the latter fires no event until Safari 7
$(document).on("visibilitychange", function(){
    var state = document.visibilityState || document.webkitVisibilityState;
    var hidden = getFirstDefinedValue(document.hidden, document.webkitHidden, document.mozHidden);
    
    console.log('the document is hidden:', hidden, ';the document is in state:',state);
});