移动Safari / iPhone Mail.app HTMLdevise问题:防止自动链接和样式自动链接(date,地址等)

我正试图devise一个HTML电子邮件,当它在移动设备上阅读时也应该看起来不错。 我最大的问题是iPhone(iOS 4):它的大部分没有logging的“自动链接”function真的让我感到困扰。

自动链接似乎出现

  • 电话号码(这是唯一logging的function,如此处所述 )
  • 地址
  • date

有没有关于如何的文件

  1. 禁用date和地址的自动链接
  2. 通过微格式或类似的东西“纠正”自动链接(所以结果比iOS 4更好)

任何信息,暗示或者线索都是非常值得赞赏的,因为似乎没有任何信息。

这个问题已经回答很久了,在这个线程中如何禁用移动Safari中的电话号码链接? 但重申像我自己的所有其他SEO访问者….

…根据适用于iPhone的Safari网页内容指南 :

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

我其实想出了一个办法。 这是非常可怕的,但它的作品。 您可以在http://commondream.net/post/8933806735/avoiding-data-detectors-in-ioss-mail-app上阅读我的文章,但一般的要点是数据检测器不会链接已经存在的内容在HTML电子邮件中的链接,所以你可以把这样的东西&#xFF1A;

 <span>Tuesday</span> 

成:

 <a href="#tuesday" id="tuesday" style="color: #000; text-decoration: none;">Tuesday</a> 

这是可怕的代码,但它使数据检测器发生只有几个缺点,即丑陋的标记和邮件客户端滚动到该特定的项目,如果你点击它。

所有这一切说,我认为这是相当有限的,当你应该禁用数据检测器。 我有一封电子邮件,上面列出了一周中的天气预报,感觉就好像没有用户想要在日历中标记这些信息,但是我想说,如果你觉得他们真的可以有用。

对于date和地址,您可以通过插入例如零宽度实体来破坏数据识别模式匹配。 例如,

 M&#x200b;arch 30, 2013 

在iOS Mail 4.3和6.0上testing

 <a href="#" style="color: #666666; text-decoration: none;pointer-events: none;">Boca Raton, FL 33487</a> 

将颜色更改为任何与您的文本相匹配的文本,文本修饰删除下划线,指针事件阻止它像浏览器中的链接一样被查看

这是在iOS和浏览器上的HTML电子邮件的完美。

我们也遇到了这个问题。 为了禁用iOS上Safari的地址格式检测,我们将地址包裹在一个没有href属性的<a>标签中,并且用一个style属性来定义我们希望的颜色:

 <a style="color: #c0c0c0;">Square, Inc., 901 Mission Street, San Francisco, CA 94103</a> 

结果在iOS Safari中仍然是可点击的,但是以我们想要的颜色呈现。

在其他浏览器中,链接不可点击,因为内联样式颜色与现有文本相同,所以与周围的文本没有任何区别。

我不认为你可以禁用地址和date的自动链接,就像你用电话号码一样,至less它不在苹果的官方文档, Safari的HTML参考 。

试图阻止自动链接的黑客攻击是在内容中使用一些冗余标签。 例如,不是写出<div>+61 3 777 8888</div> ,你可以做<div><foo>+61 3 777</foo> 8888</div> 。 这不是很优雅,但它可能达到你想要的。

如果您可以避开它,用单引号括起来将禁用自动链接。 这也适用于不能使用HTML技巧的主题行。

我使用这个解决scheme来自动链接,需要风格

 <span class="applelinksWhite">or call 1-666-12<span>3-456</span>7</span> 

然后,我将其添加到我的样式标签。 我把它用在身体上,因为有些客户从头上剥离它。

 .applelinksWhite a {color:#ffffff !important; text-decoration:none;} 

所以applelinks跨度覆盖了ios设备的自动链接,并且我在文本string的中间放了一个基本的跨度来甩掉像gmail这样的其他客户端。 在石蕊试验和全面工作。

这适用于任何types的自动链接。

至less创build<a>链接标签,不要做任何事情似乎是date和地址的最佳select:

<a href="javascript: void(0)" style="cursor:text; text-decoration:none; color:#333333;">July 18, 2014</a>

您可以使用

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

只有电话号码,它会禁用所有的电话链接; 这可能不是你想要做的。

如果您不使用此元标记,则可以使用CSS进行样式设置,以根据需要更改链接颜色。 并使用上面的代码( <a>标签)为您不想链接的电话号码。