
Public Member Functions | |
| String | browserName () |
| String | cpu () |
| ERXBasicBrowser (String browserName, String version, String mozillaVersion, String platform, NSDictionary userInfo) | |
| String | geckoRevision () |
| boolean | isChrome () |
| boolean | isFirefox () |
| boolean | isICab () |
| boolean | isIE () |
| boolean | isIFrameSupported () |
| boolean | isIPhone () |
| boolean | isJavaScriptOnImageButtonSupported () |
| boolean | isLinux () |
| boolean | isMacOS () |
| boolean | isMozilla () |
| boolean | isMozilla40Compatible () |
| boolean | isMozilla45Compatible () |
| boolean | isMozilla50Compatible () |
| boolean | isNetscape () |
| boolean | isNotNetscape () |
| boolean | isOmniWeb () |
| boolean | isOpera () |
| boolean | isRobot () |
| boolean | isSafari () |
| boolean | isUnknownBrowser () |
| boolean | isUnknownPlatform () |
| boolean | isVersion2 () |
| boolean | isVersion3 () |
| boolean | isVersion4 () |
| boolean | isVersion40 () |
| boolean | isVersion41 () |
| boolean | isVersion45 () |
| boolean | isVersion5 () |
| boolean | isVersion51 () |
| boolean | isVersion6 () |
| boolean | isVersion7 () |
| boolean | isVersion8 () |
| boolean | isVersion9 () |
| boolean | isWindows () |
| String | mozillaVersion () |
| String | platform () |
| NSDictionary | userInfo () |
| String | version () |
| boolean | willRenderNestedTablesFast () |
Static Public Attributes | |
| static final Logger | log = Logger.getLogger(ERXBasicBrowser.class) |
Private Attributes | |
| final String | _browserName |
| final String | _cpu |
| final String | _geckoRevision |
| final boolean | _isChrome |
| final boolean | _isFirefox |
| final boolean | _isICab |
| final boolean | _isIE |
| final boolean | _isIPhone |
| final boolean | _isLinux |
| final boolean | _isMacOS |
| final boolean | _isMozilla |
| final boolean | _isMozillaVersion40 |
| final boolean | _isMozillaVersion45 |
| final boolean | _isMozillaVersion50 |
| final boolean | _isNetscape |
| final boolean | _isOmniWeb |
| final boolean | _isOpera |
| final boolean | _isRobot |
| final boolean | _isSafari |
| final boolean | _isUnknownBrowser |
| final boolean | _isUnknownPlatform |
| final boolean | _isVersion2 |
| final boolean | _isVersion3 |
| final boolean | _isVersion4 |
| final boolean | _isVersion40 |
| final boolean | _isVersion41 |
| final boolean | _isVersion45 |
| final boolean | _isVersion5 |
| final boolean | _isVersion51 |
| final boolean | _isVersion6 |
| final boolean | _isVersion7 |
| final boolean | _isVersion8 |
| final boolean | _isVersion9 |
| final boolean | _isWindows |
| final String | _mozillaVersion |
| final String | _platform |
| final NSDictionary | _userInfo |
| final String | _version |
ERXBasicBrowser is a concrete subclass of ERXBrowser that defines browser object. A browser object represents the web browser that the current request-response cycle is dealing with. It holds the information retrieved from HTTP request's "user-agent" header, and such information includes web browser's name, version, Mozilla compatible version and platform (OS). Also, a browser object can answer boolean questions such as isIE,isOmniWeb, isVersion5and isMozilla40Compatible, and even more specific questions like isIFrameSupportedand willRenderNestedTablesFast.
ERXBasicBrowser is immutable and shared by different sessions and direct actions. The shared instances are managed by ERXBrowserFactorywhich is also responsible to parse "user-agent" header in a WORequestobject and to get an appropriate browser object.
You can extends ERXBasicBrowser or its abstract parent ERXBrowser to implement more specific questions for your application. One potencial example will be to have a question isSupportedBrowser that checks if the client is using one of the supported browsers for your application.
ERXSessionholds a browser object that represent the web browser for that session and browser()method returns the object.
To access ERXBasicBrowser's boolean questions from WOConditionals on a web component, set the key path like "session.brower.isNetscape" to their condition bindings.
ERXDirectActionalso holds a browser object for the current request. Use its browser()method to access the object from a session-less direct action.
Some browser user-agents:
IE 5.17 OS 9: user-agent = (Mozilla/4.0 (compatible; MSIE 5.17; Mac_PowerPC)); ua-os = (MacOS); ua-cpu = (PPC);
IE 5.0 OS 9: user-agent = (Mozilla/4.0 (compatible; MSIE 5.0; Mac_PowerPC)); ua-os = (MacOS); ua-cpu = (PPC);
FireFox OS X 10.3.3: user-agent = (Mozilla/5.0 (Macintosh; U; PPC Mac OS X Mach-O; en-US; rv:1.6) Gecko/20040206 Firefox/0.8);
IE 5.2 MacOS X: user-agent = (Mozilla/4.0 (compatible; MSIE 5.23; Mac_PowerPC)); ua-os = (MacOS); ua-cpu = (PPC);
Safari: user-agent = ("Mozilla/5.0 (Macintosh; U; PPC Mac OS X; en-us) AppleWebKit/124 (KHTML, like Gecko) Safari/125.1");
IE WIndows 6.02: user-agent = (Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.0));
| ERXBasicBrowser | ( | String | browserName, | |
| String | version, | |||
| String | mozillaVersion, | |||
| String | platform, | |||
| NSDictionary | userInfo | |||
| ) |
| String browserName | ( | ) | [virtual] |
| String cpu | ( | ) |
CPU string
| String geckoRevision | ( | ) | [virtual] |
Returns the gecko revision of the browser or ERXBrowser#NO_GECKO.
Implements ERXBrowser.
| boolean isChrome | ( | ) | [virtual] |
| boolean isFirefox | ( | ) | [virtual] |
| boolean isICab | ( | ) | [virtual] |
| boolean isIE | ( | ) | [virtual] |
| boolean isIFrameSupported | ( | ) |
Does the browser support IFrames?
| boolean isIPhone | ( | ) | [virtual] |
Implements ERXBrowser.
| boolean isJavaScriptOnImageButtonSupported | ( | ) |
| boolean isLinux | ( | ) | [virtual] |
Implements ERXBrowser.
| boolean isMacOS | ( | ) | [virtual] |
Implements ERXBrowser.
| boolean isMozilla | ( | ) |
| boolean isMozilla40Compatible | ( | ) | [virtual] |
Implements ERXBrowser.
| boolean isMozilla45Compatible | ( | ) | [virtual] |
Implements ERXBrowser.
| boolean isMozilla50Compatible | ( | ) | [virtual] |
Implements ERXBrowser.
| boolean isNetscape | ( | ) | [virtual] |
| boolean isNotNetscape | ( | ) | [virtual] |
| boolean isOmniWeb | ( | ) | [virtual] |
| boolean isOpera | ( | ) | [virtual] |
| boolean isRobot | ( | ) | [virtual] |
| boolean isSafari | ( | ) | [virtual] |
| boolean isUnknownBrowser | ( | ) | [virtual] |
Implements ERXBrowser.
| boolean isUnknownPlatform | ( | ) | [virtual] |
Implements ERXBrowser.
| boolean isVersion2 | ( | ) | [virtual] |
Implements ERXBrowser.
| boolean isVersion3 | ( | ) | [virtual] |
Implements ERXBrowser.
| boolean isVersion4 | ( | ) | [virtual] |
Implements ERXBrowser.
| boolean isVersion40 | ( | ) | [virtual] |
Implements ERXBrowser.
| boolean isVersion41 | ( | ) | [virtual] |
Implements ERXBrowser.
| boolean isVersion45 | ( | ) | [virtual] |
Implements ERXBrowser.
| boolean isVersion5 | ( | ) | [virtual] |
Implements ERXBrowser.
| boolean isVersion51 | ( | ) | [virtual] |
Implements ERXBrowser.
| boolean isVersion6 | ( | ) | [virtual] |
Implements ERXBrowser.
| boolean isVersion7 | ( | ) | [virtual] |
Implements ERXBrowser.
| boolean isVersion8 | ( | ) | [virtual] |
Implements ERXBrowser.
| boolean isVersion9 | ( | ) | [virtual] |
Implements ERXBrowser.
| boolean isWindows | ( | ) | [virtual] |
Implements ERXBrowser.
| String mozillaVersion | ( | ) | [virtual] |
MozillaVersion string
Implements ERXBrowser.
| String platform | ( | ) | [virtual] |
| NSDictionary userInfo | ( | ) | [virtual] |
| String version | ( | ) | [virtual] |
| boolean willRenderNestedTablesFast | ( | ) |
Browser is not netscape or is a version 5 browser.
final String _browserName [private] |
final String _geckoRevision [private] |
final boolean _isChrome [private] |
final boolean _isFirefox [private] |
final boolean _isICab [private] |
final boolean _isIE [private] |
final boolean _isIPhone [private] |
final boolean _isLinux [private] |
final boolean _isMacOS [private] |
final boolean _isMozilla [private] |
final boolean _isMozillaVersion40 [private] |
final boolean _isMozillaVersion45 [private] |
final boolean _isMozillaVersion50 [private] |
final boolean _isNetscape [private] |
final boolean _isOmniWeb [private] |
final boolean _isOpera [private] |
final boolean _isRobot [private] |
final boolean _isSafari [private] |
final boolean _isUnknownBrowser [private] |
final boolean _isUnknownPlatform [private] |
final boolean _isVersion2 [private] |
final boolean _isVersion3 [private] |
final boolean _isVersion4 [private] |
final boolean _isVersion40 [private] |
final boolean _isVersion41 [private] |
final boolean _isVersion45 [private] |
final boolean _isVersion5 [private] |
final boolean _isVersion51 [private] |
final boolean _isVersion6 [private] |
final boolean _isVersion7 [private] |
final boolean _isVersion8 [private] |
final boolean _isVersion9 [private] |
final boolean _isWindows [private] |
final String _mozillaVersion [private] |
final NSDictionary _userInfo [private] |
1.5.8