我的web应用程序需要检测我们的桌面应用程序是否安装在用户的PC上。 (这个应用程序是通过自定义应用程序协议从网络应用程序启动的。)我们目前有一个“hack-ish”方法,但它在IE10中被破解。做一些研究,我遇到了这篇文章。有没有人得到JavaScript msProtocols属性在IE10中工作?
向底部,它说明了如何在Windows 8 IE10 &,你现在可以检测为使用JavaScript特定的应用程序协议处理程序。更多细节可以在这个站点找到:msProtocols property。根据实例,我应该可以做这样的事情:
if (navigator.msProtocols["myProtocol"]) {
location.href = "myProtocol://<Some path under the myProtocol protocol>";
} else {
// Fallback code for when the "myProtocol" protocol doesn’t exist.
}
我试图得到这个工作,但失败了。即使使用调试器,并查看导航器对象,也没有msProtocols属性。
有没有人能够得到这个工作?
找出我自己的问题。应该是我检查的第一件事情之一,但我的浏览器模式和文档模式设置不正确。一旦我将它们设置为IE10 - 标准,一切都很好用! – 2012-03-19 17:44:33