HTML 电子邮件 iOS 格式检测

HTML Email iOS format-detection

我刚刚发现 iOS 上的 HTML 中有一个元标记用于删除 phone 号码作为 link。这对 HTML 电子邮件有效吗?

<meta name="format-detection" content="telephone=no">

但是地址和日期也有吗?我一直在写 hack 来克服这个问题,但如果它是一个很棒的元标记!有人知道地址和日期的语法吗?

是的,有。您可以使用:

  • 日期:<meta name="format-detection" content="date=no">
  • 地址:<meta name="format-detection" content="address=no">
  • 电子邮箱:<meta name="format-detection" content="email=no">

合并它们:

<meta name="format-detection" content="telephone=no">
<meta name="format-detection" content="date=no">
<meta name="format-detection" content="address=no">
<meta name="format-detection" content="email=no">

未经测试但应该可以。

a[href^=date]{ color:#FFFFFF; text-decoration:none;}
a[href^=telephone]{ color:#FFFFFF; text-decoration:none;}
a[href^=address]{ color:#FFFFFF; text-decoration:none;}
a[href^=email]{ color:#FFFFFF; text-decoration:none;}

我很幸运:

<style>
  a[href^="x-apple-data-detectors:"] {
    color: inherit;
    text-decoration: inherit;
  }
</style>
<html>
<head>
    <meta name="format-detection" content="telephone=no">
    <meta name="format-detection" content="date=no">
    <meta name="format-detection" content="address=no">
    <meta name="format-detection" content="email=no">
    <style type="text/css">
        a[x-apple-data-detectors] {
            color: inherit !important;
            text-decoration: none !important;
            font-size: inherit !important;
            font-family: inherit !important;
            font-weight: inherit !important;
            line-height: inherit !important;
        }
    </style>
</head>
<body>
    123 Main Street<br/>
    Columbus, Ohio 43215
</body>
</html>

我刚刚发现 format-detection 不适用于 Outlook.com、Office365 等

在我的例子中,我不想要自动样式或功能(点击呼叫或映射地址)所以我注入了一些隐藏的 HTML 使其看起来不像地址。

原文:

<td>123 Main Street
<br/>Cambridge, MA 02138</td>

已更新:

<td>123 Main S<i class="hidden">-</i>treet
<br/>Cambridge, M<i class="hidden">-</i>A 02<i class="hidden">-</i>138</td>

将此添加到您的样式表后:

.hidden { display:none; }

这已经过测试,可以在 Email on Acid 提供的 50 个左右的电子邮件客户端预览中使用。

注意: 您不能将 display:none 内联,因为 Yahoo Mail 不支持它,您最终会在地址中看到可见的破折号。你需要定义一个class.

删除显示但保留功能

如果您想保留 Bing 地图弹出功能,您可以通过将 class "outlookLink" 添加到包含地址的元素来自定义显示。资料来源:https://litmus.com/community/discussions/4692-outlook-com-adding-links

所以这个:

<td>123 Main Street</td>

变成这样:

<td class="outlookLink">123 Main Street</td>

在您的样式表中添加以下内容:

.outlookLink span {
      color:#ffffff !important;
      border-bottom-width:0 !important;
      border-bottom-style:none !important;
}

Outlook.com 将它确定为地址或日期(对于日历条目)的内容包装在具有自己样式的 中(蓝色 link 下划线)。这会修改那些 的样式。

这不是标准的元标记,它仅适用于 IOS。

请参阅 Apple Developer Documention 找到您的答案

我认为最好将它们集中在一个元标记中:

<meta name="format-detection" content="telephone=no, email=no, address=no" />