如何将JavaScript添加到电子邮件中?

3

在电子邮件中添加ajax按钮是否可行?我想添加一个类似于Google日历会议邀请电子邮件内部的按钮。

或者还有其他替代方案吗?


HTML在电子邮件中已经够糟糕的了...现在还有JavaScript?拜托不要!! - Felix Kling
2个回答

5
不要指望它。大部分,如果不是全部的邮件客户端都会拒绝在电子邮件中运行Javascript。
如果您想包含按钮,请插入带有不同链接的图像到您的公共网页上。同时,在邮件消息中包含按钮图像(并通过Content-ID引用它们),因为现在许多邮件客户端甚至拒绝加载远程图像。
这正是Google日历所做的。当然,Gmail识别邀请附件(text/calendar),因此提供了自己的接口来处理“是/否/可能”按钮。

最终,我希望读者点击一个链接,调用一个URL,但仍然不会打开新窗口。如果JavaScript不是正确的方法,是否有任何替代方案? - user279244
我想建立一个基础设施,通过电子邮件获取反馈。只是,我不想打开一个新窗口... - user279244
@user279244:一封电子邮件包含静态内容。一旦你发送了电子邮件,就无法更改它。你不能运行JavaScript,也不能包含IFRAME,也不能在同一个窗口中替换为另一个页面。这是设计上不可能的,因为这是一个巨大的安全漏洞。如果你想让人们输入某些内容,则必须包含一个在他们的浏览器中打开的链接,并从那里继续。 - Martijn
我可以使用任何MIME参数吗?我猜谷歌日历使用了它。有什么解决方法吗? - user279244
我在这里重复一下Martijn的话:你应该只需要一个指向URL的链接,该URL可以预先填充变量。这就是我通过电子邮件回复收集数据的方式。 - JonLim
显示剩余5条评论

2

很可能不行,这取决于邮件客户端,但如果允许脚本的话,我会非常惊讶,因为这会打开巨大的安全妥协风险。

编辑

你最好的选择可能是查看对iframe的支持,但同样地,如果许多邮件客户端允许使用此元素,我也会感到惊讶。


如果没有邮件客户端,我是否有在Web浏览器中查看它的选项? - user279244

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接