2

我正在试验 html 5 中的自定义标签。

我尝试了以下方法:

<my-script src='script.js' />

这是源代码中的“头”标签内 - 但浏览器(FF \ chrome)将其呈现在正文内。此外,它使用额外的“关闭”标签呈现:

<my-script src='script.js'> </my-script>

而且,“body”标签的所有内容都嵌套在这个自定义标签中(浏览器正在用我的自定义标签包装“body”的内容)。

我尝试使用自定义 DTD,但无法让它工作......任何想法?

4

1 回答 1

1

浏览器将标记<my-script src='script.js' />视为未知元素的开始标记(除非页面是使用 XML 内容类型提供的)。由于在 中不允许使用这样的标签head,因此它会隐式关闭head元素并启动body元素。

DTD 与此无关,因为浏览器甚至不读取 DTD(而且 HTML5 没有 DTD,也不可能编写符合 HTML5 语法规则的 DTD)。

因此,实际上,您不能在元素内使用自定义head元素。如果您希望使用没有内容的自定义元素,请将其放在body元素内并写出结束标记:<my-script src='script.js'></my-script>。这样,它不会影响页面的显示或解析,并且除了通过 DOM 访问它的客户端脚本之外没有任何影响。

于 2013-07-04T11:27:44.197 回答