[英]How do I associate mailto links with a PWA app on Windows 10?
我使用的是 Windows 10。所以我通过 Edge Beta(基于 Chromium 的 Edge)安装了 Outlook.office365.com 作为 PWA。 现在我想将它与 mailto 链接相关联。 我怎么做? 我还没有找到任何有关如何在 Windows 10 上使用 PWA 作为电子邮件标准应用程序的信息,因此我们不胜感激。
首先回答 OWA 特定的问题,然后是应用程序开发人员的一般回答。
为了“改进”OWA PWA,我找到了这个答案,但它不起作用,因为我的 PWA 运行在一个奇怪的 URL 上,例如https://pod12345.outlook.com
并且我收到错误Can only register custom handler in the document's origin.
这工作得很好,在与页面交互后在 devtools 控制台中运行:
navigator.registerProtocolHandler("mailto", location.origin + "/owa/?&rru=compose&to=%s", "PWA Outlook");
然后手动批准更改。
现在(在 macOS 上)单击mailto:
链接会在普通 Chrome 选项卡中打开 OWA 选项卡。 浏览器栏有一个“弹出”图标来“打开”PWA,这似乎工作正常。 这对我来说已经足够了,因为它不会唤醒沉睡的桌面 Outlook 巨人,而且我可以快速关闭该选项卡,因为我经常会错误地单击mailto
。
调查为什么链接没有“深度链接”到 PWA,似乎有一个属性intent_filters
需要在 PWA 应用程序清单上设置,但它不是:即https://pod12345.outlook.com/mail/ pwa.json我认为这是足够的改进,但也欢迎其他人破解它。
您是在 stackoverflow.com 而不是 superuser.com 上问的,所以我觉得有义务给出我希望 OWA 开发团队实施的答案。 看起来现在支持协议处理程序: https : //github.com/MicrosoftEdge/MSEdgeExplainers/blob/main/URLProtocolHandler/explainer.md
我还没有尝试过,但这些文档指出了两个选项,将protocol_handlers
添加到您的 PWA 应用程序清单中:
"protocol_handlers": [
{
"protocol": "web+jngl",
"url": "/lookup?type=%s"
},
{
"protocol": "web+jnglstore",
"url": "/shop?for=%s"
}
],
或动态使用registerProtocolHandler()
与用户交互,如上。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.