重现如下:
设置iframe的document.designMode后仅Firefox中其body.innerHTML为br
<script> <BR>var ifr = document.getElementsByTagName('iframe')[0]; <BR>var doc = ifr.contentWindow.document; <BR>function prif() { <BR>console.log(ifr.contentWindow.document.body.innerHTML); <BR>} <BR>function changeDesignMode() { <BR>ifr.contentWindow.document.designMode = 'On'; <BR>} <BR>prif(); <BR></script>
以上代码iframe的body中没有写入任何html标记。正常情况下输出ifr.contentWindow.document.body.innerHTML应该是空字符串。但Firefox中有点特殊。
请按下面步骤依次操作。
Firefox中打开该html默认输出了空字符串
控制台中执行changeDesignMode方法,再执行prif方法,这时输出的innerHTML为“
”,如下
Chrome/Safari/Opera输出的仍然是空字符串。