IFRAME contentWindow为空

    技术2022-07-11  157

    I like clean code so I do what I can to avoid unwanted JavaScript global variables.  I initially thought that keys(window) would give me window property leaks but that didn't work because browsers returned different results, so I moved on to using an IFRAME to compare default window property keys.

    我喜欢干净的代码,所以我会尽力避免不必要JavaScript 全局变量 。 我最初以为keys(window)会给我window属性泄漏,但是由于浏览器返回不同的结果而无法正常工作,因此我继续使用IFRAME比较默认窗口属性键。

    When I first tried this method, I got a lame error about an IFRAME element's contentWindow property being null.  Ugh.  It didn't take long to figure out why:  you need to wait until the IFRAME has loaded to get the contentWindow:

    当我第一次尝试此方法时,我遇到了一个contentWindow错误,关于IFRAME元素的contentWindow属性为null 。 啊。 很快就知道了为什么:您需要等到IFRAME加载后才能获得contentWindow :

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

    Of course you'll want to add the onload event before setting the src.  If you use the load event to check for the contentWindow property, you'll be in business!

    当然,您需要在设置src之前添加onload事件。 如果您使用load事件检查contentWindow属性,那么您就可以做生意!

    翻译自: https://davidwalsh.name/iframe-contentwindow-null

    Processed: 0.011, SQL: 9