我有一个我在2009年建立的Silverlight应用程序。不幸的是,Silverlight不适用于64位浏览器。并且64位浏览器的使用刚刚开始增长,特别是在Windows 8发布时。所以我想检测64位浏览器并提供一个用户友好的消息,说明应用程序无法加载的原因。
我可以通过一些Javascript来实现这一点,但是用户代理等似乎遍布地图。我试过navigator.cpuClass
似乎在Internet Explorer中做了我想做的事情。它在32位版本的IE10上返回x86
。但它会在Chrome和Firefox中返回undefined
。所以我正在为所有浏览器寻找可靠的解决方案。
请注意我不关心操作系统是64位还是。那没关系。我只关心浏览器。
答案 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" />
这会产生这个提示......