我想要做的是获取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标记所包含的文本。这可以配置电子邮件属性吗?
答案 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
属性用于a
,value is the href
content而非元素内容。