Solved

How do I detect Windows NT with javascript?

Posted on 1997-11-20
5
305 Views
Last Modified: 2012-06-27
I am able to detect win3.1, win95, and macs using the following script:

<script language="javascript">
if (navigator.appVersion.indexOf("95") != -1)
document.write('<font size="3"><b>Windows 95</b></font>');
else if (navigator.appVersion.indexOf("PPC") != -1)
document.write('<font size="3"><b>Apple PC</b></font>');
else if (navigator.appVersion.indexOf("16") != -1)
document.write('<font size="3"><b>Windows 3.1</b></font>');
</script>

what "navigator.appVersion.indexOf() can I use to detect Windows NT?

Thanks!
Jonathan
0
Comment
Question by:esdras
[X]
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
  • 3
  • 2
5 Comments
 
LVL 4

Accepted Solution

by:
jshamlin earned 50 total points
ID: 1274472
You're stuck - the appVersion doesn't tell you what operating system the user has, only the operating system the *browser* was designed for.  Windows NT use the same applications (by and large) as Win95 - so when you check for indexOf("95"), an NT box will return the same value as a Win95 box (in fact, there is no NT-only version of Netscape).  it's also entirely possible that there are a few gormless individuals running 16-bit browsers in emulation mode on their Win95 boxes.

You'll have the same problem distinguishing between Mac users - who's on 68040 using System 6 and who's on a PPC using Rhapsody
0
 
LVL 6

Expert Comment

by:alamo
ID: 1274473
Well... not necessarily. I was in fact noticing the other day that my Netscape 4.03 on WinNT did in fact identify itself as NT in the user agent string. I am not on that machine right now or I'd put the value here, I will later if noone else does in the interim.

It is correct that you can't be 100% sure what platform/browser the user is on.  But when you use javascript you can never be anywhere close to 100% sure the code will execute properly or at all, so for many purposes it's ok.
0
 
LVL 4

Expert Comment

by:jshamlin
ID: 1274474
A valid point - Communicator is the first version of Netscape (or any other browser I'm aware of) that does, in fact, have an NT-specific version - but it's entirely possible to run the W96 version on an NT box or vice versa.

Another note from "in the meantime" - I've been goofing around a bit at home, running Windows in emulation mode on a Mac, and the appVersion identified me as a WindowsNT user.  What fun!  I suppose the same thing would happen on a UNIX terminal emulating windows, etc.
0
 
LVL 6

Expert Comment

by:alamo
ID: 1274475
All of the following are on NT4 workstation.

Netscape Navigator 4:
4.03 [en] (WinNT; U ;Nav)

Internet Explorer 3.02:
2.0 (compatible; MSIE 3.02; Windows NT)

Netscape Navigator 3:
3.0Gold (WinNT; I)

The browser seems to have some sense typically as to what platform it's running on, but as indicated before can't be trusted completely. So to answer the original question: if absolute reliability isn't important, it seems you should use the following:

else if (navigator.appVersion.indexOf("WinNT") != -1
      || navigator.appVersion.indexOf("Windows NT") != -1)
 document.write('<font size="3"><b>Windows NT</b></font>');
0
 
LVL 6

Expert Comment

by:alamo
ID: 1274476
What are you going to do with this?
0

Featured Post

Get HTML5 Certified

Want to be a web developer? You'll need to know HTML. Prepare for HTML5 certification by enrolling in July's Course of the Month! It's free for Premium Members, Team Accounts, and Qualified Experts.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

This article demonstrates how to create a simple responsive confirmation dialog with Ok and Cancel buttons using HTML, CSS, jQuery and Promises
This article discusses how to implement server side field validation and display customized error messages to the client.
The viewer will learn the basics of jQuery, including how to invoke it on a web page. Reference your jQuery libraries: (CODE) Include your new external js/jQuery file: (CODE) Write your first lines of code to setup your site for jQuery.: (CODE)
The viewer will learn the basics of jQuery including how to code hide show and toggles. Reference your jQuery libraries: (CODE) Include your new external js/jQuery file: (CODE) Write your first lines of code to setup your site for jQuery…
Suggested Courses

630 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question