HTML前缀属性(Open Graph Protocol)的含义?

前端之家收集整理的这篇文章主要介绍了HTML前缀属性(Open Graph Protocol)的含义?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我刚刚到 Facebook Open Graph Protocol.我一直在试图弄清楚HTML前缀属性的含义。 Stack Overflow中最接近的帖子我可以发现处理这个主题this post,这是非常有用的,因为它处理各种可能的语法之间的差异以及使用哪一种。

但是,该帖子并没有说明这个前缀属性是什么,或者是什么。 AFAIK这不是一个标准的HTML属性。我能够找到this document,我认为是W3C定义这个属性的地方,但是没有任何意义。

有人可以向我解释:

>前缀属性做什么?
>我可以写

< html prefix =“og:http://ogp.me/ns#”>

代替

< html prefix =“og:http://ogp.me/ns#\"\u0026gt; 或者会是语法错误
>我可以为任何给定的HTML标签包含多个前缀属性

< head prefix =“a:http://www.aaa.com/ns#”prefix =“b:http://www.bbb.com/ns#\"\u0026gt; 根据我对HTML的了解,这是错误的,但是前缀是非标准属性。所以也许,我想知道的是,可以写: < head prefix =“a:http://www.aaa.com/ns# b:http://www.bbb.com/ns#\"\u0026gt; 或者在HTML树中的任何位置指定多个前缀,因为某些原因没有意义?
>如果这个前缀标记不是HTML规范的一部分,那么如何将包含此属性页面提交到代码验证器,这样会导致我的代码符合标准?

谢谢你回答我的问题。

解决方法

第一:

前缀由RDFa (Resource Description Framework in Attributes)扩展名定义的属性之一。 RDFa用于以许多标记语言(如HTML和XML)表示的网页中实现Semantic Web。而不是让一个网页告诉浏览器它应该如何构造,现在你也可以告诉它什么是页面代表,像个人,产品列表等。

并且为了能够语义地表示您的网页上的数据,您需要使用语义词汇表,这将告诉浏览器:您的页面中正在表示的内容。流行的语义词汇是schema.org

但是,有时候单词语义词汇不能代表和描述所有的网页。这是前缀属性的地方:

What does the prefix attribute do?

前缀属性允许您指定正在使用的一个或多个语义词汇表。以下示例使用两个词汇表示拥有喜爱的动物的人:schema.orgvocab.org

<p vocab="http://schema.org/" prefix="ov: http://open.vocab.org/terms/" resource="#manu" typeof="Person">
    My name is <span property="name">MY_NAME</span>

    and my telephone is <span property="telephone">MY_TELEPHONE</span>.

    My favorite animal is the <span property="ov:preferredAnimal">FAVORITE_ANIMAL</span>.
</p>

Can I write <html prefix="og:http://ogp.me/ns#"> instead of <html prefix="og: http://ogp.me/ns#"> or would that be a Syntax error?

除了无法使用以前的语法在网络上找到任何示例,从RDFa Core的规范可以看出,至少有一个空格确实是强制性的:

prefix
    a white space separated list of prefix-name IRI pairs of the form
    NCName ':' ' '+ xsd:anyURI

Can I include multiple prefix attributes for any given HTML tag?

是的你可以。从上面给出的前缀属性的规范,以及RDFa Core规范给出的很多例子,允许以下内容

<html
    prefix="foaf: http://xmlns.com/foaf/0.1/
            dc: http://purl.org/dc/terms/"
>
    <!-- your page -->
</html>

If this prefix tag is not part of the HTML spec,how would submitting a page containing this attribute to a code validator ever result in my code being standards compliant?

如@wensveen,HTML5 supports the RDFa attributes out-of-the-box所述。

猜你在找的HTML相关文章