From 33058f2b292b3a581333bdfb21b8f671898c5060 Mon Sep 17 00:00:00 2001 From: Peter Bengtsson Date: Tue, 8 Dec 2020 14:40:17 -0500 Subject: initial commit --- .../domimplementation/createdocument/index.html | 83 +++++++++ .../createdocumenttype/index.html | 78 +++++++++ .../createhtmldocument/index.html | 92 ++++++++++ .../api/domimplementation/hasfeature/index.html | 117 +++++++++++++ files/zh-cn/web/api/domimplementation/index.html | 189 +++++++++++++++++++++ 5 files changed, 559 insertions(+) create mode 100644 files/zh-cn/web/api/domimplementation/createdocument/index.html create mode 100644 files/zh-cn/web/api/domimplementation/createdocumenttype/index.html create mode 100644 files/zh-cn/web/api/domimplementation/createhtmldocument/index.html create mode 100644 files/zh-cn/web/api/domimplementation/hasfeature/index.html create mode 100644 files/zh-cn/web/api/domimplementation/index.html (limited to 'files/zh-cn/web/api/domimplementation') diff --git a/files/zh-cn/web/api/domimplementation/createdocument/index.html b/files/zh-cn/web/api/domimplementation/createdocument/index.html new file mode 100644 index 0000000000..59ccafd853 --- /dev/null +++ b/files/zh-cn/web/api/domimplementation/createdocument/index.html @@ -0,0 +1,83 @@ +--- +title: DOMImplementation.createDocument() +slug: Web/API/DOMImplementation/createDocument +translation_of: Web/API/DOMImplementation/createDocument +--- +

{{ApiRef("DOM")}}

+ +

DOMImplementation.createDocument()方法创建并返回一个 {{domxref("XMLDocument")}}对象.

+ +

语法

+ +
doc = document.implementation.createDocument(namespaceURI, qualifiedNameStr, documentType);
+ +

参数

+ +
+
namespaceURI
+
被创建的{{domxref("DOMString")}} 文档的namespace URI 是namespace URI ,如果文档不属于任何namespace URI 就为null.
+
+ +
+
qualifiedNameStr
+
 {{domxref("DOMString")}} 是否包含要创建文档的限定名称,即可选的前缀和冒号,以及本地的根元素。
+
+ +
+
documentType {{optional_inline}}
+
文档的 DocumentType 默认为null.
+
+ + + +

例子

+ +
var doc = document.implementation.createDocument ('http://www.w3.org/1999/xhtml', 'html', null);
+var body = document.createElementNS('http://www.w3.org/1999/xhtml', 'body');
+body.setAttribute('id', 'abc');
+doc.documentElement.appendChild(body);
+alert(doc.getElementById('abc')); // [object HTMLBodyElement]
+
+ +

规范

+ + + + + + + + + + + + + + + + + + + + + + + + +
规范状态备注
{{SpecName('DOM WHATWG', '#dom-domimplementation-createdocument', 'DOMImplementation.createDocument')}}{{Spec2('DOM WHATWG')}}[现时标准] +

createDocument() 的返回类型从 {{domxref("Document")}} 修改为{{domxref("XMLDocument")}}.
+ createDocument()的第三个参数,文档类型,现在是可选的,默认为null.

+
{{SpecName('DOM3 Core', 'core.html#Level-2-Core-DOM-createDocument', 'DOMImplementation.createDocument')}}{{Spec2('DOM3 Core')}}[过时]自{{SpecName("DOM2 Core")}}无改变
{{SpecName('DOM2 Core', 'core.html#Level-2-Core-DOM-createDocument', 'DOMImplementation.createDocument')}}{{Spec2('DOM2 Core')}}[过时]初始定义.
+ +

浏览器支持

+ + + +

{{Compat("api.DOMImplementation.createDocument")}}

+ +

另请参见

+ + diff --git a/files/zh-cn/web/api/domimplementation/createdocumenttype/index.html b/files/zh-cn/web/api/domimplementation/createdocumenttype/index.html new file mode 100644 index 0000000000..13e290d87c --- /dev/null +++ b/files/zh-cn/web/api/domimplementation/createdocumenttype/index.html @@ -0,0 +1,78 @@ +--- +title: DOMImplementation.createDocumentType() +slug: Web/API/DOMImplementation/createDocumentType +tags: + - DOM + - DOMImplementation +translation_of: Web/API/DOMImplementation/createDocumentType +--- +

{{ ApiRef("DOM")}}

+ +

DOMImplementation.createDocumentType() 方法返回一个 {{domxref("DocumentType")}} 对象,它可以在文档创建时用在 {{domxref("DOMImplementation.createDocument")}} ,或者通过{{domxref("Node.insertBefore()")}} 或 {{domxref("Node.replaceChild()")}} 等方法放在文档中。

+ +

语法

+ +
var doctype = document.implementation.createDocumentType(qualifiedNameStr, publicId, systemId);
+ +

参数

+ +
+
qualifiedNameStr
+
 {{domxref("DOMString")}} 类型的值,包含一个合规的名称,如 svg:svg
+
+ +
+
publicId
+
 {{domxref("DOMString")}} 类型的值, 包含 PUBLIC 标识符。
+
+ +
+
systemId
+
 {{domxref("DOMString")}} 类型的值,包含 SYSTEM 标识符。
+
+ +

示例

+ +
var dt = document.implementation.createDocumentType('svg:svg', '-//W3C//DTD SVG 1.1//EN', 'http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd');
+var d = document.implementation.createDocument('http://www.w3.org/2000/svg', 'svg:svg', dt);
+alert(d.doctype.publicId); // -//W3C//DTD SVG 1.1//EN
+
+ +

规范

+ + + + + + + + + + + + + + + + + + + + + + + + +
规范状态备注
{{SpecName('DOM WHATWG', '#dom-domimplementation-createdocumenttype', 'DOMImplementation.createDocumentType')}}{{Spec2('DOM WHATWG')}}与 {{SpecName("DOM3 Core")}}相比无改动
{{SpecName('DOM3 Core', 'core.html#Level-2-Core-DOM-createDocType', 'DOMImplementation.createDocumentType')}}{{Spec2('DOM3 Core')}}与 {{SpecName("DOM2 Core")}} 相比无改动
{{SpecName('DOM2 Core', 'core.html#Level-2-Core-DOM-createDocType', 'DOMImplementation.createDocumentType')}}{{Spec2('DOM2 Core')}}初次定义
+ +

浏览器兼容性

+ + + +

{{Compat("api.DOMImplementation.createDocumentType")}}

+ +

参见

+ + diff --git a/files/zh-cn/web/api/domimplementation/createhtmldocument/index.html b/files/zh-cn/web/api/domimplementation/createhtmldocument/index.html new file mode 100644 index 0000000000..558f4bad6c --- /dev/null +++ b/files/zh-cn/web/api/domimplementation/createhtmldocument/index.html @@ -0,0 +1,92 @@ +--- +title: DOMImplementation.createHTMLDocument +slug: Web/API/DOMImplementation/createHTMLDocument +translation_of: Web/API/DOMImplementation/createHTMLDocument +--- +

{{ApiRef("DOM")}}{{SeeCompatTable}}

+ +

概述

+ +

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

+ +

语法

+ +
var doc = document.implementation.createHTMLDocument(title);
+
+ + + +

例子

+ +

下面的例子演示如何创建了一个新的HTML文档,并把它插入到当前文档的一个{{ HTMLElement("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>
+
+ +

规范

+ + + +

{{ languages( { "en": "en/DOM/DOMImplementation.createHTMLDocument" } ) }}

diff --git a/files/zh-cn/web/api/domimplementation/hasfeature/index.html b/files/zh-cn/web/api/domimplementation/hasfeature/index.html new file mode 100644 index 0000000000..daa355c026 --- /dev/null +++ b/files/zh-cn/web/api/domimplementation/hasfeature/index.html @@ -0,0 +1,117 @@ +--- +title: DOMImplementation.hasFeature +slug: Web/API/DOMImplementation/hasFeature +translation_of: Web/API/DOMImplementation/hasFeature +--- +

{{ApiRef("DOMImplementation")}}

+

The DOMImplementation.hasFeature() method returns a {{domxref("Boolean")}} flag indicating if a given feature is supported.

+

The different implementation fairly diverged in what kind of features was reported. The latest version of the spec settled to force this method to always return true, except for SVG features, where the functionnality was accurate and in use.

+

Syntax

+
flag = document.implementation.hasFeature(feature, version);
+

Parameters

+
+
+ feature
+
+ Is a {{domxref("DOMString")}} representing the feature name.
+
+ version
+
+ Is a {{domxref("DOMString")}} representing the version of the specification defining the feature.
+
+

Specifications

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + +
SpecificationStatusComment
{{SpecName('DOM WHATWG', '#dom-domimplementation-hasfeature', 'DOMImplementation.hasFeature')}}{{Spec2('DOM WHATWG')}}Modified to always return true except for SVG features.
{{SpecName('DOM3 Core', 'core.html#ID-5CED94D7', 'DOMImplementation.hasFeature')}}{{Spec2('DOM3 Core')}}No change from {{SpecName("DOM2 Core")}}
{{SpecName('DOM2 Core', 'core.html#ID-5CED94D7', 'DOMImplementation.hasFeature')}}{{Spec2('DOM2 Core')}}No change from {{SpecName("DOM1")}}
{{SpecName('DOM1', 'level-one-core.html#ID-5CED94D7', 'DOMImplementation.hasFeature')}}{{Spec2('DOM2 Core')}}Initial definition.
+

Browser compatibility

+

{{CompatibilityTable}}

+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + +
FeatureChromeFirefox (Gecko)Internet ExplorerOperaSafari
Basic support{{CompatVersionUnknown}}{{CompatGeckoDesktop("1.0")}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}
Always true for non-SVG features.{{CompatUnknown}}{{CompatGeckoDesktop("19.0")}}{{CompatUnknown}}{{CompatUnknown}}{{CompatUnknown}}
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + +
FeatureAndroidFirefox Mobile (Gecko)IE MobileOpera MobileSafari Mobile
Basic support{{CompatVersionUnknown}}{{CompatGeckoMobile("1.0")}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}
Always true for non-SVG features.{{CompatUnknown}}{{CompatGeckoMobile("19.0")}}{{CompatUnknown}}{{CompatUnknown}}{{CompatUnknown}}
+
+

See also

+ diff --git a/files/zh-cn/web/api/domimplementation/index.html b/files/zh-cn/web/api/domimplementation/index.html new file mode 100644 index 0000000000..65cf86e62a --- /dev/null +++ b/files/zh-cn/web/api/domimplementation/index.html @@ -0,0 +1,189 @@ +--- +title: DOMImplementation +slug: Web/API/DOMImplementation +tags: + - API + - DOM + - Interface + - Reference +translation_of: Web/API/DOMImplementation +--- +

{{ ApiRef("DOM") }}

+ +

DOMImplementation 接口代表了一个对象,这个对象提供了不依赖于任何document的方法。这个对象可以通过{{domxref("Document.implementation")}}属性获得

+ +

属性

+ +

这个接口没有特定的属性,并且也没有继承到任何属性。

+ +

方法

+ +

没有继承的方法

+ +
+
{{domxref("DOMImplementation.createDocument()")}}
+
创建并返回一个 {{domxref("XMLDocument")}}对象.
+
{{domxref("DOMImplementation.createDocumentType()")}}
+
创建并返回一个 {{domxref("DocumentType")}}对象.
+
{{domxref("DOMImplementation.createHTMLDocument()")}}
+
创建并返回一个 {{domxref("Document")}}对象.
+
{{domxref("DOMImplementation.hasFeature()")}}
+
返回一个是否支持所给定特性的{{domxref("Boolean")}}值。这个方法是不可靠的,仅用于兼容性目的:除了SVG相关的查询,它总是返回 true。旧浏览器的行为非常不一致
+
Returns a {{domxref("Boolean")}} indicating if a given feature is supported or not. This function is unreliable and kept for compatibility purpose alone: except for SVG-related queries, it always returns true. Old browsers are very inconsistent in their behavior.
+
+ +

规范

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
SpecificationStatusComment
{{SpecName('DOM WHATWG', '#domimplementation', 'DOMImplementation')}}{{Spec2('DOM WHATWG')}}Removed the getFeature() method.
+ Added the createHTMLDocument() method.
+ Modified the return type of createDocument() from {{domxref("Document")}} to {{domxref("XMLDocument")}}.
{{SpecName('DOM3 Core', 'core.html#ID-102161490', 'DOMImplementation')}}{{Spec2('DOM3 Core')}}Added the getFeature() method (never implemented by any user agent).
{{SpecName('DOM2 Core', 'core.html#ID-102161490', 'DOMImplementation')}}{{Spec2('DOM2 Core')}}Added the createDocument() and createDocumentType() methods.
{{SpecName('DOM1', 'level-one-core.html#ID-102161490', 'DOMImplementation')}}{{Spec2('DOM1')}}Initial definition.
+ +

浏览器兼容性

+ +

{{CompatibilityTable}}

+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
FeatureChromeFirefox (Gecko)Internet ExplorerOperaSafari
Basic support1.0{{CompatGeckoDesktop("1.0")}}6.0{{CompatVersionUnknown}}{{CompatVersionUnknown}}
createHTMLDocument(){{CompatVersionUnknown}}{{CompatGeckoDesktop("2.0")}}9.0{{CompatVersionUnknown}}{{CompatVersionUnknown}}
createDocument(){{CompatVersionUnknown}}{{CompatGeckoDesktop("1.0")}}9.0{{CompatVersionUnknown}}{{CompatVersionUnknown}}
hasFeature(){{CompatVersionUnknown}}{{CompatGeckoDesktop("1.0")}} [1]6.0{{CompatVersionUnknown}}{{CompatVersionUnknown}}
createDocumentType(){{CompatVersionUnknown}}{{CompatGeckoDesktop("1.0")}}9.0{{CompatVersionUnknown}}{{CompatVersionUnknown}}
+
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
FeatureAndroidFirefox Mobile (Gecko)IE MobileOpera MobileSafari Mobile
Basic support{{CompatVersionUnknown}}{{CompatGeckoMobile("1.0")}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}
createHTMLDocument(){{CompatVersionUnknown}}{{CompatGeckoMobile("2.0")}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}
createDocument(){{CompatVersionUnknown}}{{CompatGeckoMobile("1.0")}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}
hasFeature(){{CompatVersionUnknown}}{{CompatGeckoMobile("1.0")}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}
createDocumentType(){{CompatVersionUnknown}}{{CompatGeckoMobile("1.0")}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}
+
+ +

[1] Since Gecko 19, hasFeature() mostly returns true.

+ +

See also

+ + -- cgit v1.2.3-54-g00ecf