新版Outlook解析tel:链接异常的问题求助
新版Outlook解析tel:链接异常的问题求助
我最近在做HTML邮件模板时遇到了一个头疼的问题:原本设置的电话链接代码是:
<a href="tel:000-000-0000">000-000-0000</a>
结果在新版PC端Outlook里显示完全不对,它自动把链接提取出来,还在前面加了http://,变成了这样的纯文本样式:
[http://tel:000-000-0000]000-000-0000
完全没有超链接效果,请问有没有什么HTML层面的办法能阻止Outlook搞这一出?感谢!
几个亲测有效的解决办法:
- 添加Outlook专属属性和样式:在
<a>标签里加上x-apple-data-detectors="false"属性,同时给标签加上内联样式mso-no-proof: yes;,这两个属性可以告诉Outlook不要自动检测和修改这个链接。修改后的代码如下:
<a href="tel:000-000-0000" x-apple-data-detectors="false" style="mso-no-proof: yes;">000-000-0000</a>
- 用零宽度空格打断号码检测:把电话号码中的分隔符或者数字之间插入零宽度空格
‌,这样Outlook的自动链接检测机制就识别不出这是一个完整的电话号码了,但用户复制时不会影响号码的完整性。示例代码:
<a href="tel:000-000-0000">000‌-000‌-0000</a>
- 使用条件注释单独处理Outlook:如果上面的方法都不行,可以试试用Outlook的条件注释,给Outlook渲染一个特殊的版本,比如用VML来创建链接(不过这个方法稍微复杂一点):
<!--[if mso]> <v:shape xmlns:v="urn:schemas-microsoft-com:vml" xmlns:w="urn:schemas-microsoft-com:office:word" href="tel:000-000-0000" style="position:absolute;display:inline-block;width:auto;height:auto;"> <w:anchorlock/> <v:textbox inset="0,0,0,0"> <![endif]--> <span style="text-decoration:underline;color:#0000EE;">000-000-0000</span> <!--[if mso]> </v:textbox> </v:shape> <![endif]-->
这些方法里前两个比较简单,我自己做邮件模板时用第一个方法解决了大部分Outlook的链接异常问题,你可以试试!
内容来源于stack exchange
相关产品推荐
相关产品推荐

