IFRAME contentWindow为空

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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值