11

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

我可以用一点 Javascript 实现这一点,但用户代理等似乎无处不在。而且我已经尝试过navigator.cpuClass似乎可以在 Internet Explorer 中执行我想要的操作。它返回x86IE10 的 32 位版本。但它会undefined在 Chrome 和 Firefox 中返回。所以我正在为所有浏览器寻找一个可靠的解决方案。

请注意,我不在乎操作系统是否为 64 位。那没关系。我只关心浏览器。

4

1 回答 1

4

感谢@RocketHazmat,我发现Silverlight 5 引入了 64 位浏览器支持。我的应用程序使用的是 Silverlight 4。所以我升级到 5,现在它可以与我测试过的 64 位浏览器一起使用。

但是,仍然有一个例外。甚至 Silverlight 5 也无法在 Windows 8 下的 Metro 版本 IE10 中运行。显然这是设计使然,因为这是针对触控优化的 IE10 专用版本。不过,这仍然无法为我解释。我觉得很蹩脚。

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

更新

我在 Win8 中发现了一个与 Metro/现代 IE10 相关的有趣花絮。您可以指示浏览器页面上有需要“桌面”版本 IE的插件。

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

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

这将产生这个提示......

在此处输入图像描述

于 2013-06-27T22:29:58.783 回答