mozilla
您的搜索结果

    DOMImplementation.createHTMLDocument

    这是一个实验中的功能
    此功能某些浏览器尚在开发中,请参考浏览器兼容性表格以得到在不同浏览器中适合使用的前缀.由于该功能对应的标准文档可能被重新修订,所以在未来版本的浏览器中该功能的语法和行为可能随之改变.

    概述

    该方法 (属于document.implementation) 用来创建一个新的HTML文档.

    语法

    var doc = document.implementation.createHTMLDocument(title);
    
    • doc 是新建的HTML文档.
    • title 是doc中的title标签中的文本.

    例子

    下面的例子演示如何创建了一个新的HTML文档,并把它插入到当前文档的一个<iframe>中.

    查看在线演示

    例子中的HTML代码如下:

    <body>
      <p>Click <a href="javascript:makeDocument()">here</a> to create a new document and insert it below.</p>
      <iframe id="theFrame" src="about:blank" />
    </body>
    

    例子中用JavaScript实现的makeDocument()方法如下:

    function makeDocument() {
      var frame = document.getElementById("theFrame");
              
      var doc = document.implementation.createHTMLDocument("New Document");
      var p = doc.createElement("p");
      p.innerHTML = "This is a new paragraph.";
      
      try {
        doc.body.appendChild(p);
      } catch(e) {
        console.log(e);
      }
    
      // 将新建的HTML文档放到iframe中.
    
      var destDocument = frame.contentDocument;
      var srcNode = doc.documentElement;
      var newNode = destDocument.importNode(srcNode, true);
      
      destDocument.replaceChild(newNode, destDocument.documentElement);
    }
    

    代码 4-12 行创建了一个新的HTML文档,并在里面插入一些内容. 第4行 createHTMLDocument()构造了一个标题为"New Document"的HTML文档. 5-6行创建了一个段落元素并在里面插入了一些内容, 8-12行将新建的段落元素插入到HTML文档中.

    16行获取了iframe的contentDocument 属性.这是我们将要插入新建的HTML文档的地方. 下面的两行将新建的HTML文档插入到了iframe的根元素中.这样,我们用20行代码实现了用一个新建的HTML文档替换iframe中原有文档的目的.

    备注

    新生成的HTML文档有如下的初始结构:

    <!doctype html>
    <html>
    <head>
    <title>title</title>
    </head>
    <body>
    </body>
    </html>
    

    译者注:

    alert(document.implementation.createHTMLDocument("myTitle").documentElement.outerHTML)
    
    //<html><head><title>myTitle</title></head><body></body></html>
    

    规范

    文档标签和贡献者

    此页面的贡献者有: ziyunfei, teoli
    最后编辑者: teoli,