Here's a page showing a whole bunch of cool things you can do with JavaScript
and the Browser objects: Window, Navigator, Screen, History, Location --> http://www.w3schools.com/js/js_ex_browser.asp



Client-Side JavaScript: Properties of the Screen Object


window.screen Object Properties Description Your Browser's Properties
window.screen.width The total width of the screen, in pixels.
window.screen.height The total height of the screen, in pixels.
window.screen.availWidth Specifies the width of the screen, in pixels, minus interface features such as the taskbar in Windows.
window.screen.availHeight Specifies the height of the screen, in pixels, minus interface features such as the taskbar in Windows.
window.screen.colorDepth The bit depth of the color palette available for displaying images in bits per pixel.
window.screen.pixelDepth Display screen color resolution (bits per pixel). 
Firefox-exclusive property.

(Note that you can't get the ACTUAL width and height of the current browser window without help from the user.)



Client-Side JavaScript: Browser Properties and Capabilities


navigator Object Property Description Your Browser
navigator.appCodeName The code name of the browser (for example: Mozilla)
navigator.appName The name of the browser (for example: Netscape)
navigator.appVersion Version information for the browser (for example: 5.0 (Windows))
navigator.userAgent

String passed by browser as user-agent header -- for example: 

Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1;)

You can probe the userAgent property for mobile browsers such as iPhone, iPad, or Android.
The following variable returns true if the user is using one of the following mobile browsers:

// Returns true if user is using one of the following mobile browsers.  
var isMobile = navigator.userAgent.match(/(iPad)|(iPhone)|(iPod)|(android)|(webOS)/i)
(Actually, my Android returns "isMobile: Android,,,,Android,".)




navigator.cookieEnabled Boolean that indicates whether the browser has cookies enabled
navigator.language Returns the default language of the browser version (for example: en-US).   NS and Firefox only.
navigator.mimeTypes[] An array of all MIME types supported by the client   NS and Firefox only.
(Dan: Iterate through the array.)
navigator.platform The platform of the client's computer (for example: Win32)
navigator.plugins[] An array of all plug-ins currently installed on the client   NS and Firefox only.
(Dan: Iterate through the array.)
navigator.onLine A Boolean that returns true if the browser is online, false if not. Note that different browsers have different minimum requirements when deciding if the browser is online, which may not accurately correlate to whether the browser is in fact able to access the web. In other words, you should not solely rely on the onLine property to detect whether the user is online.

Two events, onoffline and ononline, can be used to react to when the user goes offline and online, respectively. They fire on the BODY element of the page and bubble up to the window object. The following uses the onOffline event to detect when the user has gone "offline":

if (window.addEventListener)
{
 document.body.addEventListener("offline", function(e){alert("User went offline.")}, false)
}
else if (window.attachEvent)
{
 document.body.attachEvent("onOffline", function(e){alert("User went offline.")})
}
else
{
 document.body.onOffline = function(e){alert("User went offline.")}
}

navigator.systemLanguage Returns the default language of the operating system (for example: en-us). IE only.
navigator.userLanguage Returns the preferred language setting of the user (for example: en-ca). IE only.

var OSName = "Unknown Operating System";
if (navigator.appVersion.indexOf("Win") != -1) OSName="Windows";
if (navigator.appVersion.indexOf("Mac") != -1) OSName="MacOS";
if (navigator.appVersion.indexOf("X11") != -1) OSName="UNIX";
if (navigator.appVersion.indexOf("Linux") != -1) OSName="Linux";

document.write('Your Operating System: <­strong>' + OSName + '<­/strong>');





Server-Side VBScript for Detecting Browser and Operating System


[The InStr(string1, string2) function returns the position within string1 where string2 appears, or zero if string2 does not appear in string1.
  Since zero equates with logical False and non-zero equates with logical True, we can use this to set up a Boolean comparison.]

<­%
strUserAgent = Request.ServerVariables("HTTP_USER_AGENT") > 0 )
strUserAgent = LCase(strUserAgent)

blnIE4 = ( InStr(strUserAgent,"msie 4") > 0 )
blnIE5 = ( InStr(strUserAgent,"msie 5") > 0 )
blnIE6 = ( InStr(strUserAgent,"msie 6") > 0 )
blnIE7 = ( InStr(strUserAgent,"msie 7") > 0 )
blnIE8 = ( InStr(strUserAgent,"msie 8") > 0 )
blnIE9 = ( InStr(strUserAgent,"msie 9") > 0 )
blnIE10 = ( InStr(strUserAgent,"msie 10") > 0 )
blnIE11 = ( InStr(strUserAgent,"msie 11") > 0 )
blnIE12 = ( InStr(strUserAgent,"msie 12") > 0 )

If blnIE4 OR blnIE5 OR blnIE6 OR blnIE7 OR blnIE8 OR blnIE9 OR blnIE10 OR blnIE11 OR blnIE12 Then

    ' You can include DHTML code here for IE.

End If

blnChrome = ( InStr(strUserAgent,"chrome") > 0 )
blnFireFox = ( InStr(strUserAgent,"firefox") > 0 )
blnSafari = ( InStr(strUserAgent,"safari") > 0 )
blnOpera = ( InStr(strUserAgent,"opera") > 0 )
blnGecko = ( InStr(strUserAgent,"gecko") > 0 )

blnLinux = ( InStr(strUserAgent,"linux") > 0 )
blnUNIX = ( InStr(strUserAgent,"x11") > 0 )
blnAndroid = ( InStr(strUserAgent,"android") > 0 )

blnMobile = ( InStr(strUserAgent,"mobile") > 0 )

Response.Write "Mobile? <­strong>" & blnMobile & "<­/strong>"

%­>

Mobile? False



Request.ServerVariables("HTTP_COOKIE")

ASPSESSIONIDACQCSBDD=PDABGJEAFCJHILGJBCFMMMIL



Iteration through the collection Request.ServerVariables



Request.ServerVariables("APPL_PHYSICAL_PATH") =   C:\Domains\whaleprojects.com\wwwroot\

ALL_HTTP = HTTP_CACHE_CONTROL:no-cache HTTP_CONNECTION:close HTTP_PRAGMA:no-cache HTTP_ACCEPT:text/html,application/xhtml+xml,text/xml;q=0.9,text/plain;q=0.8,image/png,*/*;q=0.5 HTTP_ACCEPT_CHARSET:ISO-8859-1,utf-8;q=0.7,*;q=0.7 HTTP_ACCEPT_ENCODING:gzip HTTP_ACCEPT_LANGUAGE:en-us,en;q=0.5 HTTP_COOKIE:ASPSESSIONIDACQCSBDD=PDABGJEAFCJHILGJBCFMMMIL HTTP_HOST:www.whaleprojects.com HTTP_USER_AGENT:CCBot/1.0 (+http://www.commoncrawl.org/bot.html) HTTP_X_CC_ID:ccc04-01 HTTP_X_REWRITE_URL:/members/browser.asp

ALL_RAW = Cache-Control: no-cache Connection: close Pragma: no-cache Accept: text/html,application/xhtml+xml,text/xml;q=0.9,text/plain;q=0.8,image/png,*/*;q=0.5 Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7 Accept-Encoding: gzip Accept-Language: en-us,en;q=0.5 Cookie: ASPSESSIONIDACQCSBDD=PDABGJEAFCJHILGJBCFMMMIL Host: www.whaleprojects.com User-Agent: CCBot/1.0 (+http://www.commoncrawl.org/bot.html) x-cc-id: ccc04-01 X-Rewrite-URL: /members/browser.asp

APPL_MD_PATH = /LM/W3SVC/585/ROOT

APPL_PHYSICAL_PATH = C:\Domains\whaleprojects.com\wwwroot\

AUTH_PASSWORD =

AUTH_TYPE =

AUTH_USER =

CERT_COOKIE =

CERT_FLAGS =

CERT_ISSUER =

CERT_KEYSIZE =

CERT_SECRETKEYSIZE =

CERT_SERIALNUMBER =

CERT_SERVER_ISSUER =

CERT_SERVER_SUBJECT =

CERT_SUBJECT =

CONTENT_LENGTH = 0

CONTENT_TYPE =

GATEWAY_INTERFACE = CGI/1.1

HTTPS = off

HTTPS_KEYSIZE =

HTTPS_SECRETKEYSIZE =

HTTPS_SERVER_ISSUER =

HTTPS_SERVER_SUBJECT =

INSTANCE_ID = 585

INSTANCE_META_PATH = /LM/W3SVC/585

LOCAL_ADDR = 69.90.236.44

LOGON_USER =

PATH_INFO = /members/browser.asp

PATH_TRANSLATED = C:\Domains\whaleprojects.com\wwwroot\members\browser.asp

QUERY_STRING =

REMOTE_ADDR = 38.107.179.237

REMOTE_HOST = 38.107.179.237

REMOTE_USER =

REQUEST_METHOD = GET

SCRIPT_NAME = /members/browser.asp

SERVER_NAME = www.whaleprojects.com

SERVER_PORT = 80

SERVER_PORT_SECURE = 0

SERVER_PROTOCOL = HTTP/1.1

SERVER_SOFTWARE = Microsoft-IIS/6.0

URL = /members/browser.asp

HTTP_CACHE_CONTROL = no-cache

HTTP_CONNECTION = close

HTTP_PRAGMA = no-cache

HTTP_ACCEPT = text/html,application/xhtml+xml,text/xml;q=0.9,text/plain;q=0.8,image/png,*/*;q=0.5

HTTP_ACCEPT_CHARSET = ISO-8859-1,utf-8;q=0.7,*;q=0.7

HTTP_ACCEPT_ENCODING = gzip

HTTP_ACCEPT_LANGUAGE = en-us,en;q=0.5

HTTP_COOKIE = ASPSESSIONIDACQCSBDD=PDABGJEAFCJHILGJBCFMMMIL

HTTP_HOST = www.whaleprojects.com

HTTP_USER_AGENT = CCBot/1.0 (+http://www.commoncrawl.org/bot.html)

HTTP_X_CC_ID = ccc04-01

HTTP_X_REWRITE_URL = /members/browser.asp

 




VBScript that Uses the Server-Side BrowserType Object


(Note that most of the BrowserTypeObject values are either flat wrong or just useless.)
Set BrowserTypeObject = Server.CreateObject("MSWC.BrowserType")

BrowserTypeObject.Platformunknown 
BrowserTypeObject.BrowserDefault
BrowserTypeObject.Version
(BrowserTypeObject.majorVer . BrowserTypeObject.minorVer)
0.0
(0 . 0)
BrowserTypeObject.JavaScript False
BrowserTypeObject.VBScript False
BrowserTypeObject.cookiesFalse 
BrowserTypeObject.JavaAppletsFalse 
BrowserTypeObject.ActiveXControlsFalse 
BrowserTypeObject.Propertyunknown 
BrowserTypeObject.DHTMLunknown 
BrowserTypeObject.Frames False
BrowserTypeObject.Tables True
BrowserTypeObject.BackgroundSounds False