有点奇怪的困境。我正在构建的交互式课程的一些用户将拥有本地 Outlook 应用程序,而一些用户将使用 Webmail 版本。我已经设法使代码能够将变量值传递到 To、Subject 和 Body 字段中,但是,我想要一种方法来确定用户拥有哪一个。在你问之前,是的,每个用户只会有一个或另一个。
在这里取样,这样你就可以看到我正在使用什么。这是两个中的第一个,第二个几乎相同,除了 mailto 命令及其对应的 Webmail 应用程序不同。
var LearnerEmail = window.cpAPIInterface.getVariableValue("LearnerEmail");
var TLemail = window.cpAPIInterface.getVariableValue("TLemail");
var subject = window.cpAPIInterface.getVariableValue("subject");
var EmailBody = window.cpAPIInterface.getVariableValue("EmailBody")
window.location.href = "mailto:" + LearnerEmail + "; " + TLemail + "?subject=" + subject + "&Body=" + EmailBody;
我完全知道浏览器无权访问所有本地系统的目录,除非用户安装了某种自定义扩展(但是这个问题并不值得所有这些工作)所以据我所知,没有检查系统的方法
我感兴趣的是首先尝试打开本地 Outlook 应用程序,然后如果在短暂延迟后没有任何反应,则改为运行 Webmail 应用程序的代码。有没有办法让 javascript 验证 mailto 命令是否通过,或者查看系统是否已成功打开应用程序?如果是这样,是否可以设置一个首先运行本地命令的功能,然后以可靠的方式切换到另一个?