检测何时邮件发送失败
detecting when mailto failed
当使用mailto链接时,如果用户没有电子邮件客户端设置,或者没有将他的webmail设置为他的默认客户端(ea. gmail作为macosx的默认客户端),那么它就不会为用户做任何事情。最好的方式是优雅地提供退路,友好地让用户手动给你发邮件?我可以使用JS或css显示消息一旦链接已被点击:
提交成功,如果没有任何问题,请手动发邮件给我们。
如何使用mailto表单,我可以使用重定向页面成功没有或与服务器端脚本?是否有办法从失败中过滤出成功,而不是依赖于用户的判断与上面的双重成功/失败信息?
edit:当一个mailto链接(或表单)被点击时,改变状态的最合适的方式是什么?显然,JavaScript或css是选项,但我不能简单地创建双操作链接或表单提交;邮件到,也链接到另一个页面(您已经提交/点击按钮')
本文讨论了一种检查单击mailto后window
的模糊事件是否触发的方法。它使用了一个超时,所以它不是万无一失的,但可以解决大多数情况。下面是一个JavaScript/jQuery示例,经过本文的简化。
(function($)) {
$('a[href^=mailto]').each(function() {
$(this).click(function() {
var t;
$(window).blur(function() {
// The browser apparently responded, so stop the timeout.
clearTimeout(t);
});
t = setTimeout(function() {
// The browser did not respond after 500ms, so open an alternative URL.
document.location.href = '...';
}, 500);
});
});
})(jQuery);
您无法检测用户是否有电子邮件客户端设置。因此,我建议您设置一个服务器端表单,以便用户与您联系。
在此下方或上方,您可以为用户提供一个链接,说明如果他想通过他的主电子邮件帐户直接与您联系,他可以点击此链接(此链接是mailto:
链接)。
通过提供给他两种联系你的方式(网络表单或电子邮件客户端),你给了用户选择他想要使用哪一种的机会。因此,是否安装了电子邮件客户端以及是否要使用它取决于他自己。
使用JavaScript确认弹出窗口询问用户是否在计算机上设置了电子邮件
- 当json解析空响应时,Whatwg-Fetch失败,我该如何防止它
- JsFiddle在分叉后描述失败
- 浏览器何时记录历史记录
- 为什么要对define.md和module.exports进行条件检查,以及条件何时通过
- 让javascript知道epub3电子书中何时播放媒体覆盖
- 如何判断何时将dom节点添加到文档中
- 为什么不'当单元测试出现解析错误时,我的因果报应测试会失败
- 当一些承诺失败时,如何继续使用$q.all()
- 失败:等待Protractor与页面同步时出错:“”;在窗口上找不到角度”;
- 在Jquery中单击传播失败
- 网页上失败的javascript会导致所有其他脚本失败
- 带有对象解析的响应javascript ajax失败
- 一台特定计算机的Ajax请求数据未定义/失败
- Nodejs服务器:加载资源失败:服务器的响应状态为404(未找到)
- jQuery.getJSON失败,语法错误
- 如何确定Vue何时完成DOM更新
- ng disabled在放入多个表达式时失败
- 检测任何 ajax 调用何时失败
- 检测何时邮件发送失败
- 如何检测几个AJAX请求何时完成或失败