0

我一直在使用允许用户创建和编辑内容的可编辑 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 编辑器,但我只对这个特定方面感兴趣。

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

4

1 回答 1

0

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

有一个HTML 编辑规范已经达到了合理的完成水平,但据我所知,到目前为止浏览器开发人员几乎没有努力实现它。

于 2012-06-06T15:40:37.050 回答