为RichTextArea生成的HTML:#document是什么?

时间:2012-05-11 09:42:34

标签: javascript html gwt dom

我可以在Chrome开发者工具中看到为GWT的RichTextArea小部件生成的html是这样的:

<iframe class="GCJ2VDKDEI" style="height: 40px; ">
  #document
    <html>
      <head></head>
      <body>entered text</body>
    </html>
</iframe>

有人会说它是如何运作的吗? <iframe>中嵌入的页面如何可以为用户编辑(外观和行为类似于文本区域)?

我特别想知道那个奇怪的#document是什么。这是我第一次看到这样的东西而谷歌没有给我任何答案:(。

1 个答案:

答案 0 :(得分:5)

这是iframe中文档的Document节点。 All Document nodes have a nodeName property of "#document",您可以通过查看document.nodeName来查看。 Chrome的开发人员工具可能会通过添加iframe contentDocument属性的扩展作为iframe扩展的子项来处理iframe。

对于可编辑的文档,WYSIWYG编辑器使用iframe作为可编辑内容非常常见。所有当前浏览器都允许通过contenteditable属性在任何元素上进行内置编辑功能,也可以通过document.designMode属性在文档级别进行内置编辑功能。