Trong trường hợp bạn vẫn đang tìm kiếm một anwer, và cho bất cứ ai khác vượt qua nó, tôi chỉ đã cố gắng để làm điều tương tự bản thân mình. Có vẻ như bạn muốn được nhìn DOMImplementation javascript của:
http://reference.sitepoint.com/javascript/DOMImplementation
Có rất ít tài liệu tham khảo có tương thích cũng ở đây, nhưng nó khá tốt hỗ trợ. Về bản chất, để tạo một tài liệu mới để thao tác, bạn muốn tạo một đối tượng Doctype mới (nếu bạn định xuất một số công cụ dựa trên các tiêu chuẩn) và sau đó tạo Tài liệu mới bằng biến Doctype mới được tạo ra.
Có nhiều tùy chọn để được đưa vào cả loại tài liệu và tài liệu, nhưng nếu bạn đang tạo tài liệu HTML5, có vẻ như bạn muốn để lại hầu hết chúng dưới dạng các chuỗi trống.
Ví dụ (New HTML5 DOM Document):
var doctype = document.implementation.createDocumentType('html', '', '');
var dom = document.implementation.createDocument('', 'html', doctype);
Các tài liệu mới bây giờ trông như thế này:
<!DOCTYPE html>
<html>
</html>
Ví dụ (New XHTML DOM Document):
var doctype = document.implementation.createDocumentType(
'html',
'-//W3C//DTD XHTML 1.0 Strict//EN',
'http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd'
);
var dom = document.implementation.createDocument(
'http://www.w3.org/1999/xhtml',
'html',
doctype
);
Vì vậy, tùy thuộc vào bạn để cư trú phần còn lại của nó. Bạn có thể làm điều này một cách đơn giản như thay đổi
dom.documentElement.innerHTML = '<head></head><body></body>';
Hoặc đi với chặt chẽ hơn:
var head = dom.createElement('head');
var body = dom.createElement('body');
dom.documentElement.appendChild(head);
dom.documentElement.appendChild(body);
Tất cả các bạn.
Sau nhiều giờ JS + Adobe AIR ăn '
' thẻ với 'document.implementation.createHTMLDocument', điều này đã khắc phục được sự cố của tôi! Cảm ơn rất nhiều !! –Tôi có document.body nhưng với createHTMLDocument không có thẻ head. :( – holden321