在AMP页面中与“html⚡”的交易是什么?

时间:2016-06-13 23:15:20

标签: amp-html

我正在挖掘AMP html,这条线立刻引起了我的注意。

  

AMP HTML文档必须:

     

包含顶级<html ⚡>代码(<html amp>也被接受)。

所以我的第一个问题是 - <html ⚡>有效的HTML吗?它的意思是,它似乎有效 - 但我看起来很奇怪。有人能指出unicode作为HTML属性的具体规则吗?

我的另一个问题是,它用于什么。在文档中指出,这是有效的AMP文档所必需的。

但放弃它并不会导致AMP验证错误。 AMP的JS源本身似乎并不关心它。

这真的是抓取器和机器人将文档标记为AMP的标志吗?

提前致谢。 :)

3 个答案:

答案 0 :(得分:7)

HTML中的标记名称必须以ASCII字母开头,但属性名称几乎可以是任何名称。请参阅标准中的12.2.4.32 Before attribute name state

答案 1 :(得分:2)

您可以使用Unicode,也可以使用<html amp>;要么有效。但您必须使用一个来表示文档的状态。如果不使用它将失败AMP验证。我只使用<html amp>,因为它更容易输入。

答案 2 :(得分:1)

您仍然可以在W3C Markup Validation Service(也称为HTML验证程序,是的,它仍然存在!)中尝试它。

如果有效,它将写入几乎相同的错误

Attribute amp not allowed on element html at this point.

Attribute ⚡ not allowed on element html at this point.

AMP只是与HTML5 / HTML Living标准兼容,类似扩展名,但没有向后兼容性。

HTML元素具有允许的属性列表(http://w3c.github.io/html/single-page.html#the-html-element