首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >为什么错误不是由不正确的html-标记引起的?

为什么错误不是由不正确的html-标记引起的?
EN

Stack Overflow用户
提问于 2018-07-05 04:04:23
回答 2查看 668关注 0票数 2

在HTML规范中有一个叫做自定义元素的概念。有一个明确的表达式,这些元素的名称应该跟随。但是,在打开浏览器中的编辑器之后,我们可以安全地编写不遵循这些规则的元素,或者使用不遵循这些规则的元素创建一个简单的页面。例如,<redcar> </redcar>。为什么这是允许的,并且不会造成任何错误?毕竟,如果我们编写这样的东西:<~hello> </~hello>,那么开始标记将被视为文本,结束标记将被注释掉。在任何情况下,您都需要特定的链接来解释这种行为。

有效的自定义元素名是满足以下所有要求的字符名称序列:

  • 名称必须与PotentialCustomElementName产品匹配:

PotentialCustomElementName ::= [a-z] (PCENChar)* '-' (PCENChar)*

PCENChar ::= "-" | "." | [0-9] | "_" | [a-z] | #xB7 | [#xC0-#xD6] | [#xD8-#xF6] | [#xF8-#x37D] | [#x37F-#x1FFF] | [#x200C-#x200D] | [#x203F-#x2040] | [#x2070-#x218F] | [#x2C00-#x2FEF] | [#x3001-#xD7FF] | [#xF900-#xFDCF] | [#xFDF0-#xFFFD] | [#x10000-#xEFFFF]

这使用了XML规范中的EBNF符号。XML

  • 名称不得为下列任何一项:
    • annotation-xml
    • color-profile
    • font-face
    • font-face-src
    • font-face-uri
    • font-face-format
    • font-face-name
    • missing-glyph

EN

回答 2

Stack Overflow用户

发布于 2018-07-05 04:15:18

还不清楚你会认为什么是错误。

HTML解析主要面向“永不抛出”原则,并将尝试将所有内容转换为有效的内容。

在您的具体情况下,您创建的是一个https://html.spec.whatwg.org/multipage/dom.html#htmlunknownelement,下面是规范:

HTML命名空间中具有名称的元素的元素接口如下所示:

  1. 如果名称为appletbgsoundblinkisindexkeygenmulticolnextidspacer,则返回HTMLUnknownElement。
  2. 如果名称为acronymbasefontbigcenternobrnoembednoframesplaintextrbrtcstrikett,则返回HTMLElement。
  3. 如果名称为listingxmp,则返回HTMLPreElement。
  4. 否则,如果此规范定义了与本地名称对应的元素类型相应的接口,则返回该接口。
  5. 如果其他适用的规范为名称定义了适当的接口,则返回它们定义的接口。
  6. 如果名称是有效的自定义元素名称,则返回HTMLElement。
  7. 返回HTMLUnknownElement。

有了<redcar></redcar>,你一路走到第7点。

票数 6
EN

Stack Overflow用户

发布于 2018-07-14 07:32:13

当然,错误是会引起的。你可以在这里找到他们:

https://validator.w3.org/

如果这些错误是致命的,即在错误发生后浏览器将停止呈现页面,谷歌就会停业,因为很少有网站在线,以至于人们可以很容易地记住它们。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/51183241

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档