schema.org的电子邮件属性可以使用href值吗?

时间:2014-05-08 14:01:44

标签: html email schema.org microdata

我想要做的是获取href的值并将其分配给email属性。现在,我有这样的事情 <a href="mailto:jane-doe@xyz.edu" itemprop="email">email</a> 结果是email =&#34; email&#34;

schema.org文档有一个使用以下语法的示例 <a href="mailto:jane-doe@xyz.edu" itemprop="email">jane-doe@xyz.edu</a> 结果是email=jane-doe@xyz.edu

我是否必须拼出我的电子邮件地址才能使用微数据进行标记?

我知道某些属性(如URL)实际上会获取href值,而不是HTML标记所包含的文本。这可以配置电子邮件属性吗?

1 个答案:

答案 0 :(得分:4)

Schema.org的email property期望 Text 为值。

这很奇怪。在我看来,它应该采用URL,或至少允许两种方式(“文本 URL ”,因为它也是menu property的情况) 。
我只能猜测他们选择了 Text ,因为有些发布商不希望为垃圾邮件预防原因指定他们的真实电子邮件地址(例如,“john -at- example dot org”不是URL当然;这也在Organization<span itemprop="email">secretariat(at)google.org</span>)中用作示例,或者因为有些人会忘记添加协议mailto:,但这两个“问题”都不是 的原因 。。。

这是public-vocabs邮件列表中的相关主题:
Expected type(s) for email should include URL

如果您不希望在页面上显示电子邮件地址,并且希望使用文本来关注当前定义,则可以使用meta元素作为丑陋的解决方法:

<p>
  <a href="mailto:john@example.com">email</a>
  <meta itemprop="email" content="john@example.com" />
  <!-- the value is not an URL but text -->
</p>

旁注:

每个符合要求的Microdata解析器必须为此标记提取“email:mailto:john@example.com”:

<a href="mailto:john@example.com" itemprop="email">email</a>

由于email属性用于avalue is the href content而非元素内容。