我有一个网站可以动态构建一个 mailto url,然后使用 window.open() 在新的选项卡/窗口中打开它。
window.open("mailto:" + encodeURIComponent(r["to"]));
我现阶段正在 Chrome 中进行测试,因此其他浏览器的行为可能会有所不同。
如果 Chrome设置了mailto 协议处理程序(例如 GMail),那么它会按预期工作。
如果 Chrome没有设置 mailto 协议处理程序,它只会打开一个带有 mailto url 的选项卡,没有其他内容。
这不是最坏的结果,但如果有一种方法可以提前知道,那就太好了,这样可以以某种方式引导用户设置他们的浏览器,以便 mailto url 正常工作。
以前,我只是通过将 window.location.href 设置为 url 在同一页面中打开:
windows.location.href = "mailto:" + encodeURIComponent(r["to"]);
这不是很好,因为如果没有设置协议处理程序,什么都不会发生。如果我至少可以检测到这种情况,但我也无法找到任何迹象,我也会将其视为一种选择。我想一个选择是设置一个计时器,如果它达到执行可以提醒用户?
其他人已经解决了这个问题吗?似乎是一个很常见的要求。
谢谢