如何确定浏览器是否为64位?

时间:2013-06-27 18:59:47

标签: javascript silverlight browser

我有一个我在2009年建立的Silverlight应用程序。不幸的是,Silverlight不适用于64位浏览器。并且64位浏览器的使用刚刚开始增长,特别是在Windows 8发布时。所以我想检测64位浏览器并提供一个用户友好的消息,说明应用程序无法加载的原因。

我可以通过一些Javascript来实现这一点,但是用户代理等似乎遍布地图。我试过navigator.cpuClass似乎在Internet Explorer中做了我想做的事情。它在32位版本的IE10上返回x86。但它会在Chrome和Firefox中返回undefined。所以我正在为所有浏览器寻找可靠的解决方案。

请注意我不关心操作系统是64位还是。那没关系。我只关心浏览器。

1 个答案:

答案 0 :(得分:4)

感谢@RocketHazmat,我发现了64-bit browser support was introduced with Silverlight 5。我的应用程序使用的是Silverlight 4.所以我升级到5,现在它适用于我测试过的64位浏览器。

然而,还有一个例外。甚至Silverlight 5也不会在Windows 8的IE10的Metro版本中运行。显然这是by design,因为这是针对触摸优化的IE10的专用版本。但这仍然没有为我解释。我认为这很蹩脚。

当然这意味着64位浏览器检测不再是一个问题了。微软只需要为这个浏览器添加Silverlight支持,然后我会很高兴。

更新

我在Win8中找到了与地铁/现代IE10相关的有趣故事。您可以指示浏览器require the "desktop" version of IE页面上有插件。

您只需将此元标记添加到HTML ...

<meta http-equiv="X-UA-Compatible" content="requiresActiveX=true" />

这会产生这个提示......

enter image description here