在电子邮件消息中是否支持JavaScript ?
当前回答
不,一般来说,电子邮件阅读器不允许javascript。
其他回答
http://en.wikipedia.org/wiki/Comparison_of_e-mail_clients
以前的客户端,如Lotus Notes、Mozilla Thunderbird、Outlook Express和Windows Live Mail似乎都支持某种JavaScript执行。其他的都不行。
从安全角度来看,这似乎是一个坏主意,所以我希望这个功能不会一直存在,即使是在这些客户机中。
出于安全考虑,电子邮件客户端不支持javascript
尝试发送带有此HTML内容的邮件
<!DOCTYPE html>
<html>
<body>
<button onclick="this.innerHTML=Date()">The time is?</button>
</body>
</html>
不,一般来说,电子邮件阅读器不允许javascript。
简短的回答
No
描述性的回答
视情况而定。但是电子邮件并不能保证按照你想要的方式运行。不同的电子邮件客户端处理JS的方式不同。大多数新的电子邮件客户端都不支持这些,因为在包含大量个人信息的桌面应用程序中支持脚本执行是非常危险的。
我有一个用例,我需要在电子邮件中使用JS。我也在outlook的网页客户端和桌面客户端上进行了测试,结果发现outlook会删除HTML电子邮件中的脚本部分。可能有其他一些支持JS执行的电子邮件客户端,但考虑到您无法控制客户端,在客户端机器中查看您的电子邮件,在HTML电子邮件中嵌入任何脚本不是一个好主意。
建议让你的HTML电子邮件尽可能简单,没有JS,和最少的CSS(因为,再次强调,不同的电子邮件客户端也有不同的CSS支持),例如:outlook的web客户端甚至不能识别电子邮件中的HTML按钮标签。我必须使用一个锚标记和一些CSS在它上面来模拟按钮的显示。
底线——处理HTML电子邮件内容时不要依赖Javascript。
简短的回答:不,在电子邮件消息中不支持
长一点的回答: 我用两个电子邮件阅读器对它进行了测试。Outlook(在线)和OE Classic。由于OE Classic非常过时(我在windows 7上使用它),它确实支持JavaScript,我用警报按钮测试了它。不过,新版Outlook甚至不支持按钮,只能以纯文本的形式显示。因此,JavaScript只在一些较老的电子邮件阅读器上启用,而在Outlook等新阅读器上则不启用。