1

当我在IFrame中按 Enter 时,如何让浏览器插入<p>标签而不是标签?我在 Firefox、Chrome 和 IE 上的行为不一致,想知道是否有某种方法可以使这种情况正常化。<br>designMode

4

1 回答 1

1

看来你不能。行为没有标准化,对此的控制充其量只是基本的

这是今年五月关于此事的一个有趣的线索:http: //lists.whatwg.org/htdig.cgi/whatwg-whatwg.org/2011-May/031577.html 。它讨论的是 contenteditable 而不是 designMode,但它们实际上非常相似。

来自 Opera 的 Simon Pieters (zcorpan)在线程 ( http://lists.whatwg.org/htdig.cgi/whatwg-whatwg.org/2011-May/031604.html )上的一封电子邮件说:

Opera 11.10 引入了 document.execCommand('opera-defaultblock','','div') 来切换到使用 <div>s 而不是<p>s。('p' 也允许切换回来。)显然 WebKit 也考虑实现这一点。 https://bugs.webkit.org/show_bug.cgi?id=59961

在该线程中,还有这封电子邮件http://lists.whatwg.org/htdig.cgi/whatwg-whatwg.org/2011-May/031685.html由 Markus Ernst 撰写,包括以下评论:

<p>我假设生成s 和s都有用例<br>。IE/Opera 方法的优点是两者都允许,非常适合文本和基本的 HTML 编辑。从 WYSIWYG POV 来看,最好同时提供这两个选项,因此不鼓励作者添加服务器端处理来更改输出,这会破坏 WYSIWYG。

如果行为是可设置的,那么将标准行为的选择留给 UA 甚至可能是一个好主意。有理由关心的作者可以设置他们喜欢的行为,而其他作者可能更愿意保持原样,因此他们现有的用户没有任何变化。

关于各种浏览器制造商的人们认为应该发生的事情,关于一些非常奇怪的现有行为的评论以及关于实现它所涉及的问题的一般性讨论,还有更多关于该线程的内容。

所有这一切的当前非常 alpha 规范位于http://aryeh.name/spec/editing/editing.html

于 2011-08-29T00:47:55.863 回答