我正在用html写一封电子邮件,在电子邮件中,我有部分我只想在特定的浏览器/电子邮件客户端中显示,为此我正在使用评论。
有没有办法在html注释中为具有特定类的元素提供javascript选择器。 javascript代码不在评论中。
这是我想在
上运行我的脚本的html的测试示例<div>
<div class="test"></div>
<!--[if (gte mso 9)|(IE)]>
<div>This appears in Outlook</div>
<div class="test"></div>
<![endif]-->
</div>
和测试脚本
$(".test").html("This is a test");
我已经尝试过了,在查看outlook中的电子邮件时,结果看起来像
This is a test
This appears in Outlook
而不是
This is a test
This appears in Outlook
This is a test
感谢您的帮助
更新
原来我让每个人都感到困惑,这是可以理解的。我没有在电子邮件中包含脚本。该脚本之前正在运行,它有助于从模板创建HTML。然后将其结果作为电子邮件发送。
所以,我真正要求的只是让我的javascript访问元素在评论中的一种方式。它在电子邮件中并不重要。我只提到了电子邮件,说明为什么我需要评论。对不起,感到困惑。
答案 0 :(得分:0)
邮件客户端不允许在邮件中使用JavaScript。它允许潜在的有害内容,例如黑客窃取浏览器cookie的代码。大多数电子邮件客户端也不喜欢HTML消息。
所以,不要使用HTML邮件,只需坚持使用普通邮件。
答案 1 :(得分:0)
您无法在电子邮件客户端中执行代码(例如JS)。也许有些恐龙电子邮件客户端在其早期版本中曾经允许这样做,但由于这个“功能”会带来安全问题,因此没有理智的电子邮件客户端(基于浏览器或桌面版本)将允许这样做。
我的第一个想法是建议研究是否可以使用条件内联CSS(例如<div style="display:none;[some clever css that only ie will figure out then display:block]"></div> ... followed by other per-browser DIV+inline-CSS variations here
),但这是一个长镜头。见this question。然而,即使这样的CSS技巧确实存在,你仍然不能依赖它们,因为你无法知道用户将使用哪个电子邮件客户端来查看你的消息。