6

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

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

有人可以描述它是如何工作的吗?嵌入的页面怎么可能<iframe>对用户是可编辑的(看起来和行为像文本区域)?

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

4

1 回答 1

5

它是Documentiframe 内文档的节点。所有Document节点都有一个nodeName属性“#document”,你可以通过检查来查看document.nodeName。Chrome 的开发人员工具可能通过添加 iframecontentDocument属性的扩展作为 iframe 扩展的子级来处理 iframe。

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

于 2012-05-11T09:48:08.890 回答