Javascript execCommand的替代方案

Javascript execCommand的替代方案,javascript,jquery,designmode,Javascript,Jquery,Designmode,我希望创建一个WYSIWYG编辑器,使用jQuery作为一个框架,从中我可以使用不同的方法来简化生产 我现在确实有一个正在工作的编辑,而且工作得很好。我使用iFrame,并将其设计模式设置为on,然后从那个里开始。然而,有几件事困扰着我 以更改选定文本的字体系列为例。目前我正在使用这个: editorDoc.execCommand('fontname', false, 'verdana'); …现在工作正常:它在iFrame中正确显示了更改。但是,当我实际查看代码时(我将iFrame中的任何代

我希望创建一个WYSIWYG编辑器,使用jQuery作为一个框架,从中我可以使用不同的方法来简化生产

我现在确实有一个正在工作的编辑,而且工作得很好。我使用iFrame,并将其设计模式设置为on,然后从那个里开始。然而,有几件事困扰着我

以更改选定文本的字体系列为例。目前我正在使用这个:

editorDoc.execCommand('fontname', false, 'verdana');
…现在工作正常:它在iFrame中正确显示了更改。但是,当我实际查看代码时(我将iFrame中的任何代码复制到隐藏的输入中,然后发布),它会生成

<font class="Apple-style-span" face="verdana">aasdf</font>
aasdf
我意识到第一类苹果风格的span是一个网络工具包,这并不重要。困扰我的是
的全部用法

研究execCommand它看起来不是一个标准,尽管大多数浏览器都支持它。虽然它很旧,但我想知道是否有人听说过或知道一种更好的方法来产生同样的效果,希望有一种更具语义的代码产品。如果不局限于iFrame,而是能够使用
,那也太棒了

多谢各位, 加雷斯


编辑:contentEditable可以帮助我实现不使用iFrame的目标吗?

您可以使用常用的DOM方法对iFrame的DOM进行任何操作。如果您需要一些见解,请查看TinyMCE的来源。

是的,contentEditable可以帮助您。但是您应该调查它的兼容性问题。还要考虑到,如果不使用iframe,包含编辑器的文档的CSS将应用于编辑器的内容。好的,谢谢。我不太确定DOM将如何应用,所以我将浏览一下TinyMCE。谢谢