是否有人获得了在IE10中工作的javascript msProtocols属性

Has anyone gotten the javascript msProtocols property to work in IE10?

本文关键字:工作 javascript msProtocols 属性 IE10 获得了 是否      更新时间:2023-09-26

我的web应用程序需要检测我们的桌面应用程序是否安装在用户的电脑上。我做了一些研究,发现了这篇文章。

理解协议

在底部,它解释了如何在Windows8&IE10,您现在可以使用javascript检测特定的应用程序协议处理程序。有关详细信息,请访问以下网站:msProtocols属性。根据这个例子,我应该能够做这样的事情:

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属性。

有人能让它发挥作用吗?

在使用Internet Explorer 8+测试某些内容时,请确保将浏览器模式和文档模式设置为适当的状态。例如,浏览器模式低于Internet Explorer 10,文档模式低于标准,将阻止您访问msProtocols成员。

按F12以显示"开发人员工具"来检查这些设置。从更大的角度来看,你是否应该使用这个成员,文档中写道:

此成员不受支持,不应使用确定指定的协议是否具有关联的协议处理程序。

无论你是否成功地使用了这个成员,我都会避免它,并找到一个替代方案。