zoukankan      html  css  js  c++  java
  • HTML5之 Microdata微数据

    - 为何需要微数据
    长篇加累版牍,不好理解
    微标记来标注其中内容,让其容易识辨

    - RDFa
    Resource Description Framework
    http://www.w3.org/TR/microdata
    http://www.whatwg.org/specs/web-apps/current-work/multipage/links.html#microdata
    http://www.w3.org/TR/rdfa-in-html

    --- itemscope 标记

     <articleitemscope>
        <span itemprop=musician>张学友</span> steps ontothe stage ...
        <span itemprop=musician>刘德华</span> onthe drums ...
        <span itemprop=musician>阿宝</span> onthe bass...
        <span itemprop=musician>周杰伦</span>onthe piano ...
     </article>

    这样就将段落中的内容突出出来

    --- 搜索引擎如何解析

    http://foolip.org/microdatajs/live/ 在线解析

    服务器:

    {
        "items":[{
        "properties":{
        "musician":["Pat Metheny",
        "Antonio Sanchez",
        "Steve Rodby",
        "Lyle Mays"
      }
      }}]}

    所有的prop都被解析

    --- Itemprop支持元素

    属性 元素
    -------------------------------------------------
    src audio,embed,iframe,img,source,video
    href a,area,link
    datetime time
    content meta
    data object

    --- Itemtype 标记

    指定数据格式

    <article itemscope itemtype=http://microformats.org/profile/hcalendar#vevent>
      <time itemprop=dtstart datetime="2010-10-09T20:30:00-04:00">
        Saturday, October 9th 2010, just before half past eight  in the evening
      </time>
      <span itemprop=location>Community  Theater</span>  in
      <span itemprop=location>Morristown,  NJ</span>...
      <span itemprop=summary>O rchestrion</span> ...
     </article>

    --- 解析

    指定使用日历格式解析数据

    BEGIN:VCALENDAR
    PRODID:jQuery Microdata
    VERSION:2.0
    BEGIN:VEVENT
    DTSTAMP;VALUE=DATE ‐
    TIME:20101227T205755Z
    DTSTART;VALUE=DATE ‐
    TIME:20101009T2030000400
    LOCATION:Community Theater
    LOCATION:Morristown\, NJ
    SUMMARY:Orchestrion
    END:VEVENT
    END:VCALENDAR

    --- 嵌套使用

    <article itemscope itemtype=http://microformats.org/wiki/hreview>
      <div itemprop=item itemscope  itemtype=http://microformats.org/profile/hcalendar#vevent>
        <span itemprop=summary>O rchestrion</span>,
        <time itemprop=dtstart datetime="2010-10-09T20:30:00-04:00">October 9th 2010
        </time>:
      </div>
      <span itemprop="summary">A  fascinating evening</span>
        rated  with <span  itemprop="rating">5</span> stars out of 5 stars.
      <div itemprop=reviewer itemscope itemtype=http://microformats.org/profile/hcard>
       <span  itemprop=fn>Nicos Thassofilakas</span>,
       <a href=http://openweb.cc itemprop=url>openWeb.cc</a>
      </div>
    </article>

    --- ItemId 属性

    用于指定唯一序号

    <div itemscope itemtype=http://vocab.example.net/book 
     itemid="urn:isbn:978 ‐0634066634">
      <span  itemprop=album>One  Quiet  Night</span>  by
      <span  itemprop=artist>Pat Metheny</span>
      (<time itemprop=pubdate datetime=2005‐04‐01>2005</time>,
      <span  itemprop=pages>88</span> pages)
    </div>

    --- Itemref 属性

    通过使用html标记或者itemid来引用另一个microdata

    <article>
        <div id=location>
        <span itemprop=member>Pat Metheny</span>
        </div>
        <div id=intro>
        <span  itemprop=member>Antonio  Sanchez</span>
        <span  itemprop=member>Steve Rodby</span>
        <span  itemprop=member>Lyle  Mays</span>
        <span  itemprop=band>Pat Metheny Group</span>
        </div>
      </article>
      <div itemscope itemref ="location intro"></div>

    --- 解析可用字典

    http://micoformats.org

    - Microdata DOM API

    JS完全支持

      var allNodes = document.getItems();
      var vCards = document.getItems('http://microfomats.org/profile/hcard');
      

    属性 内容
    ------------------------------------------
    itemScope Value of itemscope attribute
    itemType Value of itemtype attribute, if present
    itemId Value of itemid attribute, if present
    itemRef Value of itemref attribute, if present

    - 属性方法一览

    属性/方法 内容
    ------------------------------------
    length 集合中元素对象
    item(index) 访问元素内容
    namedItem(name) 使用itemprop中的name属性来访问对象
    namedItem(name).values 访问itemprop指定的name中的属性的值
    Names DOMStringList所有itemprop的属性值
    names.length Itemprop值得长度
    names.item(index) 使用itemprop属性值的对象值
    names.contains(name) 判断是否包含itemprop属性

    --- 小实例

     <section itemscope itemtype="http://www.data-vocabulary.org/Person/">
        <h1 itemprop="name">张三</h1>
        <p><img src="1.jpg" alt="张三照片" itemprop="photo"></p>
        <p><a href="www.zhangsan.org" itemprop="url">张三哥</a></p>
            <dd itemprop="address" itemscope  itemtype="http://www.data-vocabulary.org/Person/">
        <span itmeprop="region">东城区</span>
        </dd>
      </section>
  • 相关阅读:
    C# Lambda表达式 注意对象的问题
    三步教你找回密码,成功破解压缩文件密码
    Python 构造函数
    Python 多图对比显示
    Python 同时显示多张图片 图片对比显示
    Python 自定义模块
    C#基础知识之键盘对应的键值
    C#基础知识之托管代码和非托管代码
    C#基础知识之Dictionary
    C#基础知识之属性
  • 原文地址:https://www.cnblogs.com/xgao/p/4201004.html
Copyright © 2011-2022 走看看