Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/silverlight/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何确定浏览器是否为64位?_Javascript_Silverlight_Browser - Fatal编程技术网

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

Javascript 如何确定浏览器是否为64位?,javascript,silverlight,browser,Javascript,Silverlight,Browser,我在2009年构建了一个Silverlight应用程序。不幸的是,Silverlight不适用于64位浏览器。64位浏览器的使用量刚刚开始增长,尤其是随着Windows8的发布。因此,我想检测64位浏览器,并提供一条用户友好的消息,说明应用程序无法加载的原因 我可以用一点Javascript实现这一点,但是用户代理和类似的东西似乎无处不在。我尝试了navigator.cpuClass,它似乎可以在Internet Explorer中实现我想要的功能。它在32位版本的IE10上返回x86。但它在C

我在2009年构建了一个Silverlight应用程序。不幸的是,Silverlight不适用于64位浏览器。64位浏览器的使用量刚刚开始增长,尤其是随着Windows8的发布。因此,我想检测64位浏览器,并提供一条用户友好的消息,说明应用程序无法加载的原因

我可以用一点Javascript实现这一点,但是用户代理和类似的东西似乎无处不在。我尝试了
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上是这样的,但我可能错了。