Detects the browser, its version and the operating system of the client : Browser Info : Window Browser JAVASCRIPT DHTML TUTORIALS


JAVASCRIPT DHTML TUTORIALS » Window Browser » Browser Info »

 

Detects the browser, its version and the operating system of the client



<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<HTML>

  <HEAD>
    <TITLE>JsLib 1.3 - Exemple - navig.js</TITLE>
    <META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=iso-8859-1">
    <META NAME="Author" CONTENT="Etienne CHEVILLARD">
    <!-- navig.js -->
    <SCRIPT TYPE="text/javascript" LANGUAGE="Javascript">
/* navig.js
 * Role : detecte le navigateur et le systeme d'exploitation du client
 * Projet : JsLib
 * Auteur : Etienne CHEVILLARD (echevillard@users.sourceforge.net)
 * Version : 1.3
 * Creation : 05/04/2001
 * Mise a jour : 23/02/2005
 * Bogues connues : - impossible de connaitre le systeme avec Sun HotJava
 *
 * Detection du navigateur et de l'OS basee sur :
 * JavaScript Browser Sniffer
 * Eric Krok, Andy King, Michel Plungjan Jan. 31, 2002
 * see http://www.webreference.com/ for more information
 */

// --- Variables globales ---

// recupere les informations sur le navigateur
var navig_agt=navigator.userAgent.toLowerCase();
var navig_min=navig_extVer(navigator.appVersion);
var navig_maj=parseInt(navig_min);

// detecte le navigateur installe
var navig_mos=(navig_agt.indexOf("ncsa")!=-1);
var navig_omn=(navig_agt.indexOf("omniweb")!=-1);
var navig_saf=((navig_agt.indexOf("safari")!=-1&& (navig_agt.indexOf("mac")!=-1));
var navig_kqr=(navig_agt.indexOf("konqueror")!=-1);
var navig_fox=(navig_agt.indexOf("firefox")!=-1);
var navig_moz=(!navig_saf && (navig_agt.indexOf("mozilla")!=-1)
  && (navig_agt.indexOf("gecko")!=-1&& (navig_agt.indexOf("netscape")==-1));
var navig_nn=(!navig_moz && (navig_agt.indexOf("mozilla")!=-1)
  && (navig_agt.indexOf("spoofer")==-1&& (navig_agt.indexOf("compatible")==-1)
  && (navig_agt.indexOf("opera")==-1&& (navig_agt.indexOf("webtv")==-1)
  && (navig_agt.indexOf("hotjava")==-1));
var navig_nn2=(navig_nn && (navig_maj<3));
var navig_nn3=(navig_nn && (navig_maj==3));
var navig_nn4=(navig_nn && (navig_maj==4));
var navig_nn6=(navig_nn && (navig_agt.indexOf("netscape6/")!=-1));
var navig_nn7=(navig_nn && (navig_agt.indexOf("netscape/7")!=-1));
var navig_ie=((navig_agt.indexOf("msie")!=-1&& (navig_agt.indexOf("opera")==-1));
var navig_ie3=(navig_ie && (navig_maj<4));
var navig_ie4=(navig_ie && (navig_maj==4&& (navig_agt.indexOf("msie 5.")==-1)
  && (navig_agt.indexOf("msie 6.")==-1));
var navig_ie5=(navig_ie && (navig_agt.indexOf("msie 5.")!=-1));
var navig_ie6=(navig_ie && (navig_agt.indexOf("msie 6.")!=-1));
var navig_op=(navig_agt.indexOf("opera")!=-1);
var navig_op2=((navig_agt.indexOf("opera 2")!=-1|| (navig_agt.indexOf("opera/2")!=-1));
var navig_op3=((navig_agt.indexOf("opera 3")!=-1|| (navig_agt.indexOf("opera/3")!=-1));
var navig_op4=((navig_agt.indexOf("opera 4")!=-1|| (navig_agt.indexOf("opera/4")!=-1));
var navig_op5=((navig_agt.indexOf("opera 5")!=-1|| (navig_agt.indexOf("opera/5")!=-1));
var navig_op6=((navig_agt.indexOf("opera 6")!=-1|| (navig_agt.indexOf("opera/6")!=-1));
var navig_op7=((navig_agt.indexOf("opera 7")!=-1|| (navig_agt.indexOf("opera/7")!=-1));
var navig_hot=(navig_agt.indexOf("hotjava")!=-1);
var navig_hot3=(navig_hot && (navig_maj==3));

// detecte la version de Javascript
var navig_js="1.0";
if (navig_nn3 || navig_opnavig_js="1.1";
if (navig_ie4 || (navig_nn4 && (navig_min<=4.05))) navig_js="1.2";
if (navig_ie5 || navig_ie6 || navig_op5 || navig_op6 || (navig_nn4 && (navig_min>4.05))) navig_js="1.3";
if (navig_hot3 || (navig_ie5 && (navig_agt.indexOf("mac")!=-1))) navig_js="1.4";
if (navig_nn6 || navig_nn7 || navig_moz || navig_fox || navig_omn || navig_op7 || navig_saf || navig_kqrnavig_js="1.5";

// detecte le systeme installe
var navig_w23=((navig_agt.indexOf("windows nt 5.2")!=-1|| (navig_agt.indexOf("windows 2003")!=-1));
var navig_wxp=((navig_agt.indexOf("windows nt 5.1")!=-1|| (navig_agt.indexOf("windows xp")!=-1));
var navig_w2k=((navig_agt.indexOf("windows nt 5.0")!=-1|| (navig_agt.indexOf("windows 2")!=-1));
var navig_wnt=((navig_agt.indexOf("winnt")!=-1|| (navig_agt.indexOf("windows nt")!=-1));
var navig_wme=(navig_agt.indexOf("win 9x 4.90")!=-1);
var navig_w98=((navig_agt.indexOf("win98")!=-1|| (navig_agt.indexOf("windows 98")!=-1));
var navig_w95=((navig_agt.indexOf("win95")!=-1|| (navig_agt.indexOf("windows 95")!=-1)
  || (navig_agt.indexOf("win")!=-1|| (navig_agt.indexOf("32bit")!=-1));
var navig_w31=((navig_agt.indexOf("win16")!=-1|| (navig_agt.indexOf("16bit")!=-1)
  || (navig_agt.indexOf("windows 3.1")!=-1|| (navig_agt.indexOf("windows 16-bit")!=-1));
var navig_os2=((navig_agt.indexOf("os/2")!=-1|| (navig_agt.indexOf("ibm-webexplorer")!=-1)
  || (navigator.appVersion.indexOf("OS/2")!=-1));
var navig_macx=(navig_omn || (navig_agt.indexOf("mac os x")!=-1));
var navig_mac=(navig_agt.indexOf("mac")!=-1);
var navig_sun=(navig_agt.indexOf("sunos")!=-1);
var navig_irix=(navig_agt.indexOf("irix")!=-1);
var navig_hpux=(navig_agt.indexOf("hp-ux")!=-1);
var navig_aix=(navig_agt.indexOf("aix")!=-1);
var navig_linux=((navig_agt.indexOf("linux")!=-1|| (navig_agt.indexOf("x11")!=-1));
var navig_sco=((navig_agt.indexOf("sco")!=-1|| (navig_agt.indexOf("unix_sv")!=-1));
var navig_ware=((navig_agt.indexOf("unix_system_v")!=-1|| (navig_agt.indexOf("unixware")!=-1));
var navig_open=((navig_agt.indexOf("openunix")!=-1|| (navig_agt.indexOf("open unix")!=-1));
var navig_mpras=(navig_agt.indexOf("ncr")!=-1);
var navig_dec=((navig_agt.indexOf("dec")!=-1|| (navig_agt.indexOf("osf1")!=-1)
  || (navig_agt.indexOf("alpha")!=-1|| (navig_agt.indexOf("ultrix")!=-1));
var navig_tru=(navig_agt.indexOf("tru64")!=-1);
var navig_sinix=(navig_agt.indexOf("sinix")!=-1);
var navig_fbsd=(navig_agt.indexOf("freebsd")!=-1);
var navig_nbsd=(navig_agt.indexOf("netbsd")!=-1);
var navig_obsd=(navig_agt.indexOf("openbsd")!=-1);
var navig_bsd=(navig_agt.indexOf("bsd")!=-1);
var navig_beos=(navig_agt.indexOf("beos")!=-1);
var navig_qnx=(navig_agt.indexOf("qnx")!=-1);

// --- Fonctions ---

// extrait le numero de version d'une portion de texte
function navig_extVer(txt) {
  if (!txtreturn "";
  var ver="";
  for(var i=0; i<txt.length; i++) {
    if ((isNaN(txt.charAt(i))) && (txt.charAt(i)!='.')) {
      if (ver.length>0return(ver);
    else {
      ver+=txt.charAt(i);
    }
  }
  return ver;
// fin navig_extVer(txt)

// retourne le nom du navigateur
function nomNavig() {
  if (navig_mosreturn ("NCSA Mosaic");
  else if (navig_omnreturn ("OmniWeb");
  else if (navig_kqrreturn ("Konqueror");
  else if (navig_safreturn ("Apple Safari");
  else if (navig_iereturn ("Microsoft Internet Explorer");
  else if (navig_opreturn ("Opera");
  else if (navig_hotreturn ("Sun HotJava");
  else if (navig_foxreturn ("Mozilla Firefox");
  else if (navig_mozreturn ("Mozilla");
  else if (navig_nn6 || navig_nn7return ("Netscape");
  else if (navig_nnreturn ("Netscape Navigator");
  else return ("inconnu");
// fin nomNavig()

// retourne le nom du systeme d'exploitation
function nomSysteme() {
  if (navig_w23return ("Microsoft Windows Server 2003");
  else if (navig_wxpreturn ("Microsoft Windows XP");
  else if (navig_w2kreturn ("Microsoft Windows 2000");
  else if (navig_wntreturn ("Microsoft Windows NT 4.0");
  else if (navig_wmereturn ("Microsoft Windows Me");
  else if (navig_w98return ("Microsoft Windows 98");
  else if (navig_w95return ("Microsoft Windows 95");
  else if (navig_w31return ("Microsoft Windows 3.1");
  else if (navig_os2return ("IBM OS/2");
  else if (navig_macxreturn ("Apple MacOS X");
  else if (navig_macreturn ("Apple MacOS");
  else if (navig_sunreturn ("Sun Solaris (SunOS)");
  else if (navig_irixreturn ("SGI Irix");
  else if (navig_hpuxreturn ("HP-UX");
  else if (navig_aixreturn ("IBM AIX");
  else if (navig_linuxreturn ("GNU/Linux");
  else if (navig_scoreturn ("SCO UNIX");
  else if (navig_warereturn ("UNIXware");
  else if (navig_openreturn ("Caldera Open UNIX");
  else if (navig_mprasreturn ("NCR UNIX MPRAS");
  else if (navig_decreturn ("Digital UNIX");
  else if (navig_trureturn ("HP Tru64 UNIX");
  else if (navig_sinixreturn ("Siemens SINIX");
  else if (navig_fbsdreturn ("FreeBSD");
  else if (navig_nbsdreturn ("NetBSD");
  else if (navig_obsdreturn ("OpenBSD");
  else if (navig_bsdreturn ("BSD/OS");
  else if (navig_beosreturn ("BeOS");
  else if (navig_qnxreturn ("QNX");
  else return ("inconnu");
// fin nomSysteme()

// retourne le nom et la version du navigateur
function nomVersionNavig() {
  if (nomNavig()=="inconnu") {
    return (nomNavig());
  else {
    return (nomNavig()+" "+versionNavig());
  }
// fin nomVersionNavig()

// retourne la version de Javascript prise en charge par le navigateur
function versionJavascript() {
  return (navig_js);
// fin versionJavascript()

// retourne la version du navigateur
function versionNavig() {
  var tmp;
  if (navig_ie3 && (navig_maj<3)) {
    return ("3.0");
  else if (navig_ie5 || navig_ie6) {
    tmp=navig_agt.indexOf("msie");
    return(navig_extVer(navig_agt.substring(tmp+5)));
  else if (navig_saf) {
    tmp=parseInt(navig_agt.substring(navig_agt.indexOf("safari/")+7));
    if (tmp==100return ("1.1");
    else if (tmp==125return ("1.2");
    else if (tmp==146return ("1.3");
    else if (tmp>146return ("2.0");
    else return ("1.0");
  else if (navig_kqr) {
    tmp=navig_agt.indexOf("konqueror/");
    return(navig_extVer(navig_agt.substring(tmp+10)));
  else if (navig_omn) {
    tmp=navig_agt.indexOf("omniweb/");
    return(navig_extVer(navig_agt.substring(tmp+8)));
  else if (navig_fox) {
    tmp=navig_agt.indexOf("firefox/");
    return(navig_extVer(navig_agt.substring(tmp+8)));
  else if (navig_moz) {
    tmp=navig_agt.indexOf("rv:");
    return(navig_extVer(navig_agt.substring(tmp+3)));
  else if (navig_nn6) {
    tmp=navig_agt.indexOf("netscape6/");
    return(navig_extVer(navig_agt.substring(tmp+10)));
  else if (navig_nn7) {
    tmp=navig_agt.indexOf("netscape/");
    return(navig_extVer(navig_agt.substring(tmp+9)));
  else if (nomNavig()=="inconnu") {
    return ("inconnu");
  else {
    return (navig_min);
  }
// fin versionNavig()

    </SCRIPT>
  </HEAD>

  <BODY>
    <H1>JsLib 1.3</H1>
    <HR>
    <H2>Exemple - navig.js</H2>

    <NOSCRIPT>
      <P><I>Erreur : votre navigateur ne reconnait pas le Javascript ou est configur&eacute; pour ne
      pas prendre en compte le code Javascript. Dans ce dernier cas, vous pouvez modifier la
      configuration dans les pr&eacute;f&eacute;rences/options de votre navigateur.</I>
      <HR>
    </NOSCRIPT>

    <P>Nom de votre navigateur :
      <SCRIPT TYPE="text/javascript" LANGUAGE="Javascript">document.write(nomNavig());</SCRIPT>

    <P>Nom et version de votre navigateur :
      <SCRIPT TYPE="text/javascript" LANGUAGE="Javascript">document.write(nomVersionNavig());</SCRIPT>

    <P>Version de Javascript reconnue par votre navigateur :
      <SCRIPT TYPE="text/javascript" LANGUAGE="Javascript">document.write(versionJavascript());</SCRIPT>

    <P>Nom de votre syst&egrave;me d'exploitation :
      <SCRIPT TYPE="text/javascript" LANGUAGE="Javascript">document.write(nomSysteme());</SCRIPT>

  </BODY>
</HTML>



           
       



-

Leave a Comment / Note


 
Verification is used to prevent unwanted posts (spam). .

Follow Navioo On Twitter

JAVASCRIPT DHTML TUTORIALS

 Navioo Window Browser
» Browser Info