Sto solo ripetendo ciò che Shedal e roosteronacid hanno detto, hai bisogno che il DOM sia pronto prima che tu possa associare eventi ad esso altrimenti in alcuni browser il computer dirà di no e morirà silenziosamente.
Per fare questo si utilizza la funzione jQuery .ready() spiegata da roosteronacid:
var focusFlag = 1;
jQuery(document).ready(function(){
jQuery(window).bind("focus",function(event){
focusFlag = 1;
}).bind("blur", function(event){
focusFlag = 0;
});
});
ciò che fa è la funzione .ready() sarà solo il fuoco ed eseguire il codice al suo interno quando il DOM ha completamente caricato dal server.
Le uniche modifiche reali apportate sono che I hug le parentesi per una facile lettura ma è una preferenza personale.
A rischio di sembrare stupido, avete messo che all'interno di un $ (document) .ready bloccare? – karim79
No, non li ho inseriti in un blocco $ (documento) .ready. Ma ho trovato un altro modo che non usa il modo JQuery: http://www.thefutureoftheweb.com/blog/detect-browser-window-focus –
@Mickey Shine - prova a metterli in un blocco $ (documento) .ready. – karim79