在IE、Gecko、WebKit下执行execCommand的常用效果差别。
我们经常会用到bSuccess = object.execCommand(sCommand [, bUserInterface] [, vValue])方法去处理Html数据。
具体参见 http://blog.csdn.net/chajn/archive/2010/10/25/5963696.aspx
但是另我们头疼的是它在各浏览器内核下生成的代码不同,导致了在兼容性上效果和数据的缺失。
下面是常见数据处理的几个不同之处。
- 字体大小 FontSize
- 粗体 Bold
- 颜色 ForeColor
- 下划线 Underline
- 斜线 Italic
- 左中右 JustifyLeft JustifyCenter JustifyRight
- 列表模式 InsertOrderedList InsertUnorderedList
- 缩进 Indent Outdent
IE
- <font size="7"></font>
- <STRONG></STRONG>
- <FONT color=#1ea535></FONT>
- <U></U>
- <EM></EM>
- <P align=left></P> <P align=center></P> <P align=right></P>
- <OL><LI></LI></OL> <UL><LI></LI></UL>
- <BLOCKQUOTE style="MARGIN-RIGHT: 0px" dir=ltr></BLOCKQUOTE>
Gecko
//如果在Gecko环境下执行document.execCommand('useCSS', false, false);方法,则处理方式与IE相同。
否则为下。注,默认为span表片但如果父节点是div,p,font等,也可能会自动加载到父节点,所以是否为span标签不固定。
- 同IE。
- <span style="font-weight: bold;"> </span>
- 同IE。
- <span style="text-decoration: underline;"> </span>
- <span style="font-style: italic;"> </span>
- <span style="text-align: center;"></span> //left,center,right
- 同IE。
- <div style="margin-left: 40px;"></div>
WebKit
- <span class="Apple-style-span" style="font-size: x-small;"></span>// x-small,small,medium,large,x-large, xx-large,-webkit-xxx-large.是否有webkit前缀不固定,但如果加上了webkit,则在IE下无法正常监测。
- <b></b>
- <font class="Apple-style-span" color="#2D9F93"></font>
- <u></u>
- <i></i>
- 同gecko
- 同IE
- <blockquote class="webkit-indent-blockquote" style="margin: 0 0 0 40px; border: none; padding: 0px;"></blockquote>
对于格格不入的各个浏览器的傲娇之状态,相信大家都曾被折磨的死去活来,还有在制作编辑器时候的光标问题和按Enter时所产生的差异更加另人烦恼。所以有必要去处理一下,以完成在各个浏览器下代码的统一。