我已经创建了一个自定义 URL 协议(protocol)处理程序。
http://
mailto://
自定义://
我已经注册了一个 WinForms 应用程序来进行相应的响应。这一切都很好。
但我希望能够优雅地处理用户尚未安装自定义 URL 协议(protocol)处理程序的情况。
为了能够做到这一点,我需要能够检测浏览器的注册协议(protocol)处理程序,我假设来自 JavaScript。但是我一直无法找到一种方法来轮询信息。我希望找到解决这个问题的方法。
感谢您分享任何想法。
最佳答案
这将是一个非常、非常 hacky 的方法来做到这一点……但是这行得通吗?
- 正常添加链接...
- 但是将一个 onclick 处理程序附加到它,设置一个计时器并为窗口添加一个 onblur 处理程序
- (理论上)如果浏览器处理链接(应用程序 X)将从窗口加载并窃取焦点...
- 如果 onblur 事件触发,清除计时器...
- 否则在 3-5 秒内让你的超时触发...并通知用户“嗯,看起来你没有安装 Mega Uber Cool 应用程序...你想现在安装它吗?(好的)(取消)”
远非防弹......但它可能有帮助?
关于javascript - 如何检测浏览器的协议(protocol)处理程序?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21009260/