org.apache.turbine.util
Class BrowserDetector

java.lang.Object
  |
  +--org.apache.turbine.util.BrowserDetector

public class BrowserDetector
extends Object

This class parses the user agent string and sets javasciptOK and cssOK following the rules described below. If you want to check for specific browsers/versions then use this class to parse the user agent string and use the accessor methods in this class. JavaScriptOK means that the browser understands JavaScript on the same level the Navigator 3 does. Specifically, it can use named images. This allows easier rollovers. If a browser doesn't do this (Nav 2 or MSIE 3), then we just assume it can't do any JavaScript. Referencing images by load order is too hard to maintain. CSSOK is kind of sketchy in that Nav 4 and MSIE work differently, but they do seem to have most of the functionality. MSIE 4 for the Mac has buggy CSS support, so we let it do JavaScript, but no CSS. Ported from Leon's PHP code at http://www.working-dogs.com/freetrade by Frank.


Field Summary
static String MACINTOSH
           
static String MOZILLA
           
static String MSIE
          Constants used by this class.
static String OPERA
           
static String UNIX
           
static String WINDOWS
           
 
Constructor Summary
BrowserDetector(HttpServletRequest request)
          Constructor used to initialize this class.
BrowserDetector(String userAgentString)
          Constructor used to initialize this class.
 
Method Summary
 String getBrowserName()
          The browser name specified in the user agent string.
 String getBrowserPlatform()
          The browser platform specified in the user agent string.
 float getBrowserVersion()
          The browser version specified in the user agent string.
 String getUserAgentString()
          The user agent string for this class.
 boolean isCssOK()
          Whether or not CSS works in this browser.
 boolean isFileUploadOK()
          Whether or not file upload works in this browser.
 boolean isJavascriptOK()
          Whether or not javascript works in this browser.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

MSIE

public static final String MSIE

Constants used by this class.


OPERA

public static final String OPERA

MOZILLA

public static final String MOZILLA

WINDOWS

public static final String WINDOWS

UNIX

public static final String UNIX

MACINTOSH

public static final String MACINTOSH
Constructor Detail

BrowserDetector

public BrowserDetector(String userAgentString)

Constructor used to initialize this class.


BrowserDetector

public BrowserDetector(HttpServletRequest request)
Constructor used to initialize this class. Mike Slinn modified the parameter so this is the only class from the Apache Turbine project required.
Method Detail

isCssOK

public boolean isCssOK()
Whether or not CSS works in this browser.

isFileUploadOK

public boolean isFileUploadOK()
Whether or not file upload works in this browser.

isJavascriptOK

public boolean isJavascriptOK()
Whether or not javascript works in this browser.

getBrowserName

public String getBrowserName()
The browser name specified in the user agent string.

getBrowserPlatform

public String getBrowserPlatform()
The browser platform specified in the user agent string.

getBrowserVersion

public float getBrowserVersion()
The browser version specified in the user agent string.

getUserAgentString

public String getUserAgentString()
The user agent string for this class.


Written 2001 by Mike Slinn.  All rights reserved.
4230 Wooster Ave, San Mateo, CA 94403.
Tel: 650-571-8436   www.mslinn.com