Dlaczego nie mogę przekazać „window.location.reload” jako argumentu setTimeout?
Chciałbym uzyskać wgląd w błąd, który widzę w Safari i Chrome, korzystając z następującego wiersza kodu:
setTimeout(window.location.reload, 250);
Raporty Chrome:Uncaught TypeError: Illegal invocation
I Safari:TypeError: Type error
W FireFox kod działa dobrze. Ponadto ten kod działa poprawnie w każdej z trzech przeglądarek:
setTimeout((function() {
window.location.reload();
}), 250);
Chrome i Safari nie mają problemów z tym kodem:
var say_hello = function () { alert("hello") };
setTimeout(say_hello, 250);
O czym jest wyjątkowywindow.location.reload
który powoduje ten błąd?
(nie jestem pewien, czy jest to przydatne, czy nie, ale oto ajsfiddle ilustrując to)