我们正在使用注册自己协议的软件.我们可以从浏览器运行应用程序然后通过以下链接
customprotocol://do_this.
Run Code Online (Sandbox Code Playgroud)
但有没有办法检查用户系统支持的自定义协议?如果不是,我们首先要求用户安装软件.
例如:
if (canHandle ('customprotocol')) {
// run software
}
else {
// ask to install
}
Run Code Online (Sandbox Code Playgroud)
编辑 我知道protocolLong属性,但它只适用于IE.
我试图检测我的应用程序处理自定义协议是否已安装并使用不同的浏览器工作.我在本网站上查看了其他问题,例如: 如何检测浏览器的协议处理程序?,并查看了这样的资源,使其适用于大多数浏览器中的大多数平台.
在将此标记为重复之前,请听我说...
除了Windows 8+上的Chrome之外,我能够使用我的功能.我无法像在Windows 7上那样在Chrome上使用窗口焦点方法,因为它会弹出要求我在商店中查找应用的消息.
是否有任何方法(没有扩展名)来检测Chrome上的Windows 8+中的自定义协议处理程序?
更新:
使用onBlur来检测它只适用于Windows 7,因为在8+中,如果它没有找到打开你的协议的东西,它会打开"从应用程序商店找到一些东西"对话框,使浏览器失去焦点.
javascript google-chrome protocols custom-protocol windows-8