2013-06-27 4 views
11

У меня есть приложение Silverlight, которое я построил еще в 2009 году. К сожалению, Silverlight недоступен для 64-битных браузеров. И использование 64-битных браузеров только начинает расти, особенно с выпуском Windows 8. Поэтому я хочу обнаружить 64-битный браузер и предоставить удобное для пользователя сообщение о том, почему приложение не удалось загрузить.Как определить, является ли браузер 64-разрядным или нет?

Я мог бы потянуть это с помощью немного Javascript, но пользовательские агенты и т. Д., Похоже, находятся по всей карте. И я пробовал navigator.cpuClass, который, кажется, делает то, что я хочу в Internet Explorer. Он возвращает x86 в 32-разрядной версии IE10. Но он возвращает undefined в Chrome и Firefox. Поэтому я ищу надежное решение для всех браузеров.

Отметьте, что Мне все равно, является ли ОС 64-разрядной или нет. Это не имеет значения. Меня беспокоит только браузер.

+0

http://stackoverflow.com/questions/1741933/detect-64-bit-or-32-bit-windows-from-user-agent-or-javascript – luk2302

+0

@ lik2302 Это показывает бит ОС, а не биты браузера. –

+0

, так что вы указываете на кромку, когда браузер 32-разрядный, а система 64-битная? – luk2302

ответ

4

Благодаря @RocketHazmat, я обнаружил, что 64-bit browser support was introduced with Silverlight 5. Мое приложение использовало Silverlight 4. Поэтому я обновил до 5 и теперь он работает с 64-битными браузерами, которые я тестировал.

Однако есть еще одно исключение. Даже Silverlight 5 не будет работать в версии Metro IE10 под Windows 8. По-видимому, это by design, поскольку это специализированная версия IE10, оптимизированная для touch. Это все еще не объясняет это для меня. Я думаю, что это хромает.

Конечно, это означает, что обнаружение 64-битного браузера больше не вызывает беспокойства. Microsoft просто нужно добавить поддержку Silverlight в этот браузер, и тогда я буду счастлив.

UPDATE

Я нашел интересный лакомый, связанный с метро/современный IE10 в Win8. Вы можете указать браузеру, что на странице есть плагины, которые require the "desktop" version of IE.

Вам просто нужно добавить этот мета-тег в HTML ...

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

И что будет генерировать эту подсказку ...

enter image description here