网络编程
位置:首页>> 网络编程>> JavaScript>> 设置iframe的document.designMode后仅Firefox中其body.innerHTML为br

设置iframe的document.designMode后仅Firefox中其body.innerHTML为br

  发布时间:2024-05-02 16:17:31 

标签:designMode

重现如下:


<!doctype html>
<html>
<head>
<title>设置iframe的document.designMode后仅Firefox中其body.innerHTML为br</title>
<meta charset="utf-8">
</head>
<body>
<iframe frameborder="1" style="height: 330px;"></iframe>
<script>
var ifr = document.getElementsByTagName('iframe')[0];
var doc = ifr.contentWindow.document;
function prif() {
console.log(ifr.contentWindow.document.body.innerHTML);
}
function changeDesignMode() {
ifr.contentWindow.document.designMode = 'On';
}
prif();
</script>
</body>
</html>


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

0
投稿

猜你喜欢

手机版 网络编程 asp之家 www.aspxhome.com