为网页添加hCard微格式

所属分类: 网页制作 / CSS 阅读数: 1510
收藏 0 赞 0 分享

说到“微格式”,有人力捧,有人质疑。归根结底,我觉得还是浏览器和终端设备的支持没有跟上,没有形成一个完整的应用流程。尽管如此,Yahoo、Google 等行业巨头已经开始在各自的主流产品中应用微格式。而作为网站开发者和个人站长,你对“微格式”的应用仍在观望之中吗?

其实,微格式并不复杂,它离我们也并不遥远。不妨现在就行动起来,试试在网页中添加微格式吧!

在我看来,微格式最主打的应用非 hCard 莫属。所以本文将着重介绍一些 hCard 的应用经验。

vCard/VCF

在讨论 hCard 之前,有必要先介绍一下 vCard。

vCard 是电子名片的文件格式标准,它可以存储联系人的姓名、公司名称、职位、电话、地址、电子信箱、网站等信息。vCard 的文件扩展名通常为 .VCF,一个简单的 VCF 文件看起来通常是这个样子的:

BEGIN:VCARD
VERSION:2.1
N:Michael;Jackson
TEL:13912345678
END:VCARD

虽然对普通网友来说,VCF 文件似乎并不常见,但事实上它已经在众多领域得到了广泛的支持和应用。

我第一次接触到 VCF 文件是在整理手机通讯录时。当时我需要将手机中的通讯录转移到新手机中,我下载并试用了一些相关的工具软件,比如 PC 端手机管理软件 NOKIA PC Suite 与 Oxygen Phone Manager、通讯录管理软件 Outlook/Outlook Express、手机端通讯录备份工具 SmartVCard 等等。我发现所有这些软件都“不约而同”地支持 VCF 格式,NOKIA 智能手机甚至原生支持在手机端导入/导出 VCF 文件。

hCard

再来看看 hCard。我们知道 hCard 是一种微格式,通常应用在 HTML 等语言中,主要用于组织并标记网页中的联络信息。hCard 直接采用 vCard 的属性名称作为自身的标记规则,这意味 hCard 与 vCard 有着天生的兼容性。这些特性令它成为最受关注的微格式应用。

和其它微格式一样,hCard 对网页的浏览者是完全透明的。hCard 使用 HTML 标签的 class 属性来对数据进行标记。有时,当 HTML 文档中现有的标签不足以进行细致的标记时,可能需要增加额外的标签(通常是不影响网页外观的 spandiv 标签)。关于在网页中添加 hCard(或将 vCard 转换成 hCard)的具体方法,我不打算在此赘述,因为网上已经有了非常详尽的参考资料,我会将它们列在本文的末尾。

在何处添加 hCard

在网页的什么地方添加 hCard 呢?其实从它的用途可以看出,网页中凡是涉及到个人、网站或公司的联系信息都可以采用 hCard 来进行标记。

以 CSS魔法 的首页为例,涉及此类联系信息的页面元素有站点标题、“关于站长”、“友情链接”三块区域,我们就可以分别以网站、站长、朋友为主体单独设置 hCard。

为什么要使用 hCard

你可能会问,既然 hCard 对网页的浏览者是完全透明的,那我们为什么又要费神费力地在网页中添加 hCard 呢?

目前看来,这似乎是一件费力不讨好的事情,因为 hCard 等微格式尚未得到浏览器和终端设备的良好支持。但是一旦这些不足得到了改善,hCard 就会为我们的数字生活带来极大的便利。来看几个理想中的例子:

  • 当我用手机浏览某公司的网站时,手机浏览器识别出了网页中的 hCard 信息。这个 hCard 标记了该公司的多种联络方式,手机浏览器很聪明地提示我“是否保存到通讯录”,于是我很经松地保存了我所需要的信息。
  • 手机浏览器还可以将页面中的 hCard 导出为 VCF 文件,我将 VCF 文件用蓝牙传输到同事的手机上,他们也轻松保存了这些联系信息,同时也可以方便地同步到电脑上的通讯录软件中。
  • 更令我惊喜的是,手机浏览器识别出了 hCard 中的地理位置信息(经纬度),并可将此信息传递给手机内的 GPS 导航软件,这样连出行道路都不需要我四处打听了!

这些应用看起来似乎不错吧?其实这些情景离我们已经越来越近了,目前 hCard 已经有了一些可行的应用流程。

现阶段的 hCard 应用

现阶段的 hCard 应用主要以桌面端为主,因为目前似乎还没有支持微格式的手机端浏览器。

目前可以识别微格式信息的浏览器包括安装了 Tails Export 或 Operator 扩展的 Firefox,以及安装了 Safari Microformats Plugin 插件的 Mac 版 Safari 浏览器。

安装了 Tails Export 扩展的 Firefox

这些的浏览器在识别出页面中的 hCard 信息之后,通常都可以提供导出 VCF 文件的功能。这些导出的 VCF 文件可以很方便地添加到本机的通讯录(Outlook 或 Address Book)中,随后便可以通过 NOKIA PC Suite 或 Apple iTunes 等软件将本机通讯录同步到 NOKIA 手机或 iPhone/iPod 等便携设备之中。

其中,Safari Microformats Plugin 插件可以直接将 hCard 中的联系人信息导入本机(仅限 Mac OS)的通讯录。

Safari Microformats Plugin (示意图)

此外,Firefox 的 Operator 扩展还提供了一些针对微格式的在线应用,比如“使用 Google 地图查找”、“添加至雅虎通讯录”等等,有效地丰富了 hCard 的应用范围。

安装了 Operator 扩展的 Firefox

值得一提的是,还有一个完全在线的、与浏览器无关的实现方案——Microformats Bookmarklet(微格式书签)。虽然它的界面明显借鉴自 Safari Microformats Plugin,但它实际上是跨浏览器的(支持 Safari、Firefox 和 IE 等浏览器)。它的使用很简单,也很有趣,把这个链接“微格式书签工具”拖放至书签栏(或添加到收藏夹),就算是完成了“安装”。此后在浏览任何网页时,只要点击这个书签项(或打开这个收藏夹项目),就可以识别并操作网页中的微格式信息了。(不过这个工具需要调用 jQuery,可能会与网页自身调用的 JS 库相冲突,或者因 jQuery 加载失败导致失效,不够稳定。)

Microformats Bookmarklet (微格式书签工具)

结语

虽然目前微格式尚未得到浏览器和终端设备的良好支持,但我们相信,在不远的将来,hCard 等微格式应用会令网页中的信息更加精确和丰富,并为互联网用户带来更多的便利。

相关阅读

更多精彩内容其他人还在看

Opera中国的WEB标准课程

网页制作Webjx文章简介:在这篇文章里,我要向大家介绍我和其他很多人花费数月时间开发的一个课程——Web标准课程,该课程旨在向大家提供Web设计和开发的坚实基础,无论读者是谁,此教程完全免费、可访问,并且不需要预备知识。当然,我主要还
收藏 0 赞 0 分享

CSS样式表渐进增强的基本概念

网页制作Webjx文章简介:如果你挠着头想弄清楚优雅降级和渐进增强的区别,我告诉你,这是视角问题。优雅降级和渐进增强都考虑网站在各种设备的各种浏览器上如何良好运转。两者区别的关键在于它们各自关注的焦点,以及这种关注对工作流程的影响
收藏 0 赞 0 分享

简单介绍Web Developer插件制作网页

网页制作Webjx文章简介:Firefox浏览器是一个良好支持W3C标准的开放源代码的浏览器,拥有Linux/Windows/Mac版本。因为Firefox浏览器良好支持W3C标准,所以使用Firefox来调试网页是非常好的。 Firefox浏览器是
收藏 0 赞 0 分享

CSS布局带来的巨大影响:CSS display属性值

网页制作Webjx文章简介:网页元素应用上那些与表格相关的display属性值后,能够模仿出与表格相同的特性。我将会在该文中给大家演示这种方法给CSS布局带来的巨大影响。 应原书编辑要求,先在文章顶部给出链接:《Everything You
收藏 0 赞 0 分享

用div css模拟表格对角线

这只是探讨一种CSS模拟表格对角线的用法,实际在工作中可能觉得这样做有点小题大作,这不是本主题讨论的重点。如果对此深以为然的朋友,请一笑过之 首先声明: 这只是探讨一种CSS模拟表格对角线的
收藏 0 赞 0 分享

IE Firefox在css中的差别 (部分)

1、单位问题 问题:任何距离的数值ie可以不加单位,ff必须要求写单位(0除外) 解决:写全单位如padding:0px; 2、水平居中 问题:div里的内容,ie默认为center,而ff默认left 解决:mairgin:0px auto; 3、高度问题
收藏 0 赞 0 分享

不用js可以实现信息提示效果

[code] <style> body { font:verdena; font-size:14px; color:#000 } h1{ font:verdena; font-size:22px; color:#000 } h2{ font:verdena;
收藏 0 赞 0 分享

CSS解决未知高度的垂直水平居中自适应问题

今天有人问起,晚上试着写出来,供参考; 以下代码兼容主流浏览器IE6、IE7、Firefox、Opera。 从最简单的开始………… 一、如何让一个DIV水平居中? 这个简单不作过多说明! [code] <st
收藏 0 赞 0 分享

CSS cursor 属性 -- 鼠标指针样式效果

取值: [ [<uri> ,]* [ auto | crosshair | default | pointer | move | e-resize | ne-resize | nw-resize | n-resize | se-resize | sw-resize |
收藏 0 赞 0 分享

css 简单区别ie6,ie7,firefox的写法

同一样式里可以这样 [code] margin:17px; FF +margin:17px; IE6 IE7 _margin:17px; IE6 [/code] 按这个顺序,刚好区分开三个浏览器
收藏 0 赞 0 分享
查看更多