创建跨浏览器的可编辑iframe

时间:2012-06-06 15:34:01

标签: javascript iframe cross-browser

我一直在使用可编辑的iframe开发HTML编辑器,允许用户创建和编辑内容。我发现iframe中生成的HTML会因使用的浏览器而异。例如,在IE和Opera中,文本块被<p>标记包围;

<p>Hello world!</p>

在Firefox中,文本块以<br>标记结尾;

Hello world!<br>

在Safari和Chrome中,文本块被<div>标记包围;

<div>Hello world!</div>

如果用户在一个浏览器中创建内容并尝试在另一个浏览器中编辑内容,并且随着时间的推移会导致HTML代码不一致,则可能会出现问题。

我发现无论使用何种浏览器,某些HTML编辑器都可以生成相同格式的HTML。例如,在CKEditor中,文本块始终由<p>标记包围,允许在任何浏览器中干净地创建和编辑HTML。

有没有办法强制iframe使用一组特定的HTML代码,主要是在有人创建新的段落或文本块时只创建<p>代码,而不管浏览器是什么?任何人都可以向我提供任何提示,代码示例或我的问题的解决方案吗?我知道我可以使用现有的HTML编辑器,但我只对这个特殊方面感兴趣。

任何帮助将不胜感激。谢谢。

1 个答案:

答案 0 :(得分:0)

没有一种简单的方法。 CKEditor等通过添加大量自定义事件处理来实现。我建议查看他们的源代码以获得灵感。

有一个specification for HTML Editing达到了合理的完成程度,但据我所知,浏览器开发人员迄今为止一直没有付出太多努力来实现它。

相关问题