zoukankan      html  css  js  c++  java
  • 设置iframe的document.designMode后仅Firefox中其body.innerHTML为br

    设置iframe的document.designMode为On可以让其可编辑,一般用在富文本编辑器组件中。这里仅列出各浏览器差异。重现如下:

    <!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中有点特殊。

    请按下面步骤依次操作。

    1,Firefox中打开该html默认输出了空字符串

    2,控制台中执行changeDesignMode方法,再执行prif方法,这时输出的innerHTML为“<br>”,如下

    Chrome/Safari/Opera输出的仍然是空字符串。


  • 相关阅读:
    暂存。2
    暂存。
    dom兼容性问题3 元素操作
    一个查看Access数据库密码的工具
    解除IIS配置节锁定
    解决cef中title不现实tooltip的问题
    创建.symlnk文件
    查询orcale运行的SQL语句记录
    跨域http头
    C#抓取天气数据
  • 原文地址:https://www.cnblogs.com/snandy/p/2370247.html
Copyright © 2011-2022 走看看