Javascript 如何确定浏览器是否为64位?
我在2009年构建了一个Silverlight应用程序。不幸的是,Silverlight不适用于64位浏览器。64位浏览器的使用量刚刚开始增长,尤其是随着Windows8的发布。因此,我想检测64位浏览器,并提供一条用户友好的消息,说明应用程序无法加载的原因 我可以用一点Javascript实现这一点,但是用户代理和类似的东西似乎无处不在。我尝试了Javascript 如何确定浏览器是否为64位?,javascript,silverlight,browser,Javascript,Silverlight,Browser,我在2009年构建了一个Silverlight应用程序。不幸的是,Silverlight不适用于64位浏览器。64位浏览器的使用量刚刚开始增长,尤其是随着Windows8的发布。因此,我想检测64位浏览器,并提供一条用户友好的消息,说明应用程序无法加载的原因 我可以用一点Javascript实现这一点,但是用户代理和类似的东西似乎无处不在。我尝试了navigator.cpuClass,它似乎可以在Internet Explorer中实现我想要的功能。它在32位版本的IE10上返回x86。但它在C
navigator.cpuClass
,它似乎可以在Internet Explorer中实现我想要的功能。它在32位版本的IE10上返回x86
。但它在Chrome和Firefox中返回未定义的。因此,我正在为所有浏览器寻找可靠的解决方案
请注意,我不在乎操作系统是否为64位。那没关系。我只关心浏览器。多亏了@RocketHazmat,我才发现了这一点。我的应用程序使用的是Silverlight4。所以我升级到5,现在它可以与我测试过的64位浏览器一起使用
然而,仍然有一个例外。即使Silverlight 5也不会在Windows8下的metro版IE10中运行。显然,这是因为这是IE10的一个专门版本,专为触摸而优化。但这仍然不能为我解释。我觉得这很差劲
当然,这意味着64位浏览器检测不再是一个真正的问题。微软只需要给这个浏览器添加Silverlight支持,我会很高兴的
更新
我在Win8中发现了一个与metro/modern IE10相关的有趣的小道消息。您可以指示浏览器,页面上有可访问的插件
您只需要将此元标记添加到您的HTML
<meta http-equiv="X-UA-Compatible" content="requiresActiveX=true" />
这将生成这个提示
与其检测操作系统/浏览器,为什么不检测实际silverlight插件的存在或缺乏?类似于如何处理这种情况:未安装Silverlight,但浏览器是32位的?请重新打开。标记为重复的问题不是重复的。@Steveworth我检查一下上面提到的问题。看起来像是窗口.navigator.platform
反映了浏览器是以32
还是64
位运行,所以这个问题(即使不是重复的)可能仍然有用。嗯,Silverlight 5在64位浏览器上运行得很好!IE9:and(64位Firefox):这是在Windows7SP1上实现的。我想在Windows8上是这样的,但我可能错了。