Specifically, I am trying to detect Windows XP users as they are not compatible with my software.
Is there a way to detect with at least 70% or higher accuracy?
Try navigator.appVersion
http://msdn.microsoft.com/en-us/library/ms533080(v=VS.85).aspx
https://developer.mozilla.org/en/DOM/window.navigator.appVersion
I have Windows 7 here and the navigator.appVersion returns a string containing "NT 6.1" in these browsers: Chrome, Opera, Safari, IE9 beta.
Only Firefox does not return that info in that string :(
btw, WinXP is "NT 5.1", Vista is "NT 6.0" ...
Update
navigator.userAgent returns the "NT version" string in all 5 browsers. That means that userAgent is the property that is able to tell the Windows version.
javascript:alert(navigator.appVersion) in the address-bar of Firefox and press ENTER. It could be that my Firefox installation is corrupted somehow (because I'm running 3.6 and 4beta at the same time)5.0 (Windows; de) . I'm using 3.6.11 on WinXP. navigator.userAgent returns a string containing the needed information NT 5.15.0 (Windows; en-US)NT 6.2, just saying.It appears that you can use the navigator host object:
var os = navigator.platform
See here for more info: http://www.jguru.com/faq/view.jsp?EID=1100686
navigator.appVersion you are able to detect the Windows version (NT 6.1 for Win7, etc.) in all browsers except Firefox