views:

143

answers:

4

I've spent a day on and off Googeling for this; no luck so far.

How can I get the users OS and version. Mine would me Mac OS X 10.6.4, the spare PC in the office would be Windows XP SP3. You see what I'm getting at.

I've seen a million and one methods to get the users platform alone, just not the version.

JS would be ideal, but a server-side (PHP) solution is OK too.

A: 

All of the server side solutions that you will see will really boil down to using the User-Agent string in the request.

Doing the work on the client side (JS) has the benefit of being able to interact directly with the browser/OS. For example, jQuery's browser function - which might be exactly what you need - runs a series of tests on the DOM/browser to see how it reacts, and then determines the browser type and version based on those reactions. There have been some projects to extend jQuery's browser function to include OS detection, but I have not used them before; easily found with a quick Google search.

Cheers.

Sam Bisbee
A: 

the only hint you have, other than doing a network probe, which isn't too reliable anyway, is to examine the User-Agent header, but you cannot rely on it too much, either, as anyone can modify the default headers that his browser sends.

Victor Jalencas
+1  A: 

The link below appears to have javascript code to detect the OS - at the bottom. As a bonus it has a few other features like browser type and version detection as well.

http://www.quirksmode.org/js/detect.html

HTH

JustBoo
On my Mac, 'navigator.oscpu' returns 'Intel Mac OS X 10.6', on a PC, it returns nothing. Shame, because it's exactly what I want!
PaulAdamDavis
+1  A: 

check out get_browser function in http://php.net/manual/en/function.get-browser.php

user1400
Unfortunately, the browscap.ini file on our server (both dedicated boxes actually) isn't new enough. =/
PaulAdamDavis