我的一个页面x.jsp使用了最简单的React实例如下:
<script type="text/babel">
ReactDOM.render(
<Clock />,
document.getElementById('root')
)
</script>
显示一切正常。
但是将x.jsp嵌在iframe并试图在iframe的onload事件中改变iframe的高度时出现问题。
经实验,在ie11中,React先执行onload后触发;在火狐中,onload先触发React后执行。我并不理解ReactDOM.render()的原理,比如为什么将上面的代码放到上面依然能执行,所以更不用说它和onload的顺序问题了。
有人能为我讲解一下吗?或者直接告诉我怎么完成“在使用react的iframe的onload事件中动态改变iframe的高度”。我有种想法,是使用计数算法,对于页面的共有对象,在react初始化时+1,在加载完毕时-1,监听其当是0时执行父页面方法改变iframe高度。但是很麻烦,而且我隐约觉得不大对。
再拜叩首。