IFRAME contentWindow má hodnotu null

Mám rád čistý kód, takže dělám, co můžu, abych se vyhnul nežádoucím globálním proměnným JavaScriptu. Původně jsem si myslel, že keys(window) by mi dalo window vlastnosti unikají, ale to nefungovalo, protože prohlížeče vracely různé výsledky, takže jsem přešel na použití IFRAME pro porovnání výchozích klíčů vlastností okna.

Když jsem poprvé vyzkoušel tuto metodu, dostal jsem chybnou chybu o IFRAME contentWindow prvku vlastnost je null . Fuj. Netrvalo dlouho přijít na to proč: Musíte počkat, dokud nebude IFRAME se načetl, aby získal contentWindow :

var iframe = document.createElement('iframe');
iframe.onload = function() {
	// contentWindow is set!	
};
iframe.src = 'about:blank';
document.body.appendChild(iframe);

Samozřejmě budete chtít přidat onload událost před nastavením src . Pokud použijete load událost pro kontrolu contentWindow nemovitosti, budete v podnikání!