Oto winny fragment uzyskiwany z lib cywilnej:TypeError: nie można odczytać właściwość „konsola” null
function hasConsoleLogger() {
return window.console && window.console.log;
}
nic szczególnego, ale niespodziewanie powraca: TypeError: Cannot read property 'console' of null
Jest wykonany w przeglądarce kontekst (Chrome), więc nie ma żadnych plików Node.js, które nie są związane z okienkiem.
Sprawdziłem pod kątem potencjalnej złośliwości delete window
lub window = null
bez powodzenia.
Aplikacja, w której występuje ten błąd, jest uruchamiana za pomocą przyjaznych wywołań iFrames i document.write().
Niestety, nie mogę podać żadnego linku demo problemu.
Zgaduję, że moje pytanie brzmi: "W jaki sposób obiekt okna może zostać unieważniony lub nieosiągalny przez pomyłkę w przeglądarce?"
Ja tylko starałem się zrobić: 'okna = null;'; po cichu nie działał w Chrome. IMO, jest wystarczająco sprytny, aby zapobiec takiemu przydziałowi. – SuperSaiyan
jest w zasięgu globalnym lub w funkcji? – user2264587