Reputation: 22240
I have a Silverlight application I built back in 2009. Unfortunately, Silverlight is not available for 64-bit browsers. And the usage of 64-bit browsers is just starting to grow, especially with the release of Windows 8. So I want to detect the 64-bit browser and provide a user friendly message stating why the application was unable to load.
I could feasibly pull this off with a bit of Javascript, but the user-agents and such seem to be all over the map. And I've tried navigator.cpuClass
which seems to do what I want in Internet Explorer. It returns x86
on a 32-bit version of IE10. But it returns undefined
in Chrome and Firefox. So I'm looking for a reliable solution for all browsers.
Note that I don't care if the OS is 64-bit or not. That doesn't matter. I'm only concerned about the browser.
Upvotes: 11
Views: 1683
Reputation: 22240
Thanks to @RocketHazmat, I uncovered that 64-bit browser support was introduced with Silverlight 5. My app was using Silverlight 4. So I upgraded to 5 and now it works with the 64-bit browsers I've tested.
However, there's still one exception. Even Silverlight 5 won't run in the metro version of IE10 under Windows 8. Apparently this is by design as this is a specialized version of IE10 optimized for touch. That still doesn't explain it for me though. I think it's lame.
Of course this means that 64-bit browser detection isn't really a concern anymore. Microsoft just needs to add Silverlight support to this browser and then I'll be happy.
UPDATE
I found an interesting tidbit related to the metro/modern IE10 in Win8. You can instruct the browser that there are plugins on the page that require the "desktop" version of IE.
You just need to add this meta tag to your HTML...
<meta http-equiv="X-UA-Compatible" content="requiresActiveX=true" />
And that'll generate this prompt...
Upvotes: 4