Functions to Examine Browsers
/*
JavaScript Bible, Fourth Edition
by Danny Goodman
Publisher: John Wiley & Sons CopyRight 2001
ISBN: 0764533428
*/
<HTML>
<HEAD>
<TITLE>UserAgent Property Library</TITLE>
<SCRIPT LANGUAGE="JavaScript">
// basic brand determination
function isNav() {
return (navigator.appName == "Netscape")
}
function isIE() {
return (navigator.appName == "Microsoft Internet Explorer")
}
// operating system platforms
function isWindows() {
return (navigator.appVersion.indexOf("Win") != -1)
}
function isWin95NT() {
return (isWindows() && (navigator.appVersion.indexOf("Win16") == -1 &&
navigator.appVersion.indexOf("Windows 3.1") == -1))
}
function isMac() {
return (navigator.appVersion.indexOf("Mac") != -1)
}
function isMacPPC() {
return (isMac() && (navigator.appVersion.indexOf("PPC") != -1 ||
navigator.appVersion.indexOf("PowerPC") != -1))
}
function isUnix() {
return (navigator.appVersion.indexOf("X11") != -1)
}
// browser versions
function isGeneration2() {
return (parseInt(navigator.appVersion) == 2)
}
function isGeneration3() {
return (parseInt(navigator.appVersion) == 3)
}
function isGeneration3Min() {
return (parseInt(navigator.appVersion.charAt(0)) >= 3)
}
function isNav4_7() {
return (isNav() && parseFloat(navigator.appVersion) == 4.7)
}
function isMSIE4Min() {
return (isIE() && navigator.appVersion.indexOf("MSIE") != -1)
}
function isMSIE5_5() {
return (navigator.appVersion.indexOf("MSIE 5.5") != -1)
}
function isNN6Min() {
return (isNav() && parseInt(navigator.appVersion) >= 5)
}
// element referencing syntax
function isDocAll() {
return (document.all) ? true : false
}
function isDocW3C() {
return (document.getElementById) ? true : false
}
// fill in the blanks
function checkBrowser() {
var form = document.forms[0]
form.brandNN.value = isNav()
form.brandIE.value = isIE()
form.win.value = isWindows()
form.win32.value = isWin95NT()
form.mac.value = isMac()
form.ppc.value = isMacPPC()
form.unix.value = isUnix()
form.ver3Only.value = isGeneration3()
form.ver3Up.value = isGeneration3Min()
form.Nav4_7.value = isNav4_7()
form.Nav6Up.value = isNN6Min()
form.MSIE4.value = isMSIE4Min()
form.MSIE5_5.value = isMSIE5_5()
form.doc_all.value = isDocAll()
form.doc_w3c.value = isDocW3C()
}
</SCRIPT>
</HEAD>
<BODY onLoad="checkBrowser()">
<H1>About This Browser</H1>
<FORM>
<H2>Brand</H2>
Netscape Navigator:<INPUT TYPE="text" NAME="brandNN" SIZE=5>
Internet Explorer:<INPUT TYPE="text" NAME="brandIE" SIZE=5>
<HR>
<H2>Browser Version</H2>
3.0x Only (any brand):<INPUT TYPE="text" NAME="ver3Only" SIZE=5><P>
3 or Later (any brand): <INPUT TYPE="text" NAME="ver3Up" SIZE=5><P>
Navigator 4.7: <INPUT TYPE="text" NAME="Nav4_7" SIZE=5><P>
Navigator 6+: <INPUT TYPE="text" NAME="Nav6Up" SIZE=5><P>
MSIE 4+: <INPUT TYPE="text" NAME="MSIE4" SIZE=5><P>
MSIE 5.5:<INPUT TYPE="text" NAME="MSIE5_5" SIZE=5><P>
<HR>
<H2>OS Platform</H2>
Windows: <INPUT TYPE="text" NAME="win" SIZE=5>
Windows 95/98/2000/NT: <INPUT TYPE="text" NAME="win32" SIZE=5><P>
Macintosh: <INPUT TYPE="text" NAME="mac" SIZE=5>
Mac PowerPC: <INPUT TYPE="text" NAME="ppc" SIZE=5><P>
Unix: <INPUT TYPE="text" NAME="unix" SIZE=5><P>
<HR>
<H2>Element Referencing Style</H2>
Use <TT>document.all</TT>: <INPUT TYPE="text" NAME="doc_all" SIZE=5><P>
Use <TT>document.getElementById()</TT>: <INPUT TYPE="text" NAME="doc_w3c"
SIZE=5><P>
</FORM>
</BODY>
</HTML>
Related examples in the same category