Continued from page 1
3. The browser reads next statement and if it is Internet Explorer 4.0, it too is redirected to page written for 'number 4' version of either Internet Explorer or Netscape Navigator. And lastly,
4. If none of statements apply, browser will remain on same page that contains script and proceed to read remainder of page.
Next are several observations made after consulting several resources (online and in print) and conducting many 'trial and error' sessions.
Peculiarities encountered that caused difficulties include;
1. Regarding line that identifies a browser's version number
(navigator.appVersion.indexOf(" ") != -1) Internet Explorer; you must use "MSIE 4", not "MSIE 4.0", "4", or "4.0". The same is true whether or not this additional ‘if’ statement, (navigator.appName.indexOf("Internet Explorer") != -1), is included as in #1. Use "MSIE 5" to identify Internet Explorer 5.5. **See below for more about Internet Explorer and version numbers. Version 5.5 does not fall under category of version 5 or higher.
Netscape Navigator; in this statement either "5.0" or "5" will work with Netscape 6.1 resulting in directing browser to page optimized for Netscape 6.1. if (navigator.appName.indexOf("Netscape") != -1) { if (navigator.appVersion.indexOf("5.0") != -1) window.location="nn61.htm"; } But in this statement, "5.0" must be used. "5" results in Netscape 4.7 being directed to page optimized for Netscape 6.1 instead of page optimized for Netscape 4.7. The reason is unknown. This peculiarity was discovered through 'trial and error'.
if (navigator.appName.indexOf("Netscape") != -1) { if (navigator.appVersion.indexOf("5.0") == -1) window.location="ienn4.htm"; } ** NOTE: Attempting to separate browsers based upon their version number is not as straight forward as it might seem. The reason is that both Internet Explorer 4.0 and Internet Explorer 5.5 have same version number of 4! Also Netscape 6.1 has a version number of 5! So trying to detect and then select browsers based on version numbers results in confusion. In particular
The version number of '5 and higher' will exclude Internet Explorer 5.5 The version number of '4 and lower' will include Internet Explorer 5.5 The version number of '6 and higher' will exclude Netscape 6.1
2. Regarding line that identifies a browser's name
(navigator.app.Name.indexOf(" ") != -1)
Internet Explorer; you must use "Internet Explorer", "Microsoft", or "Microsoft Internet Explorer". "MSIE" is not recognized.
3. All of these browsers, Netscape 4.7 and 6.1, and Internet Explorer 4.0 and 5.5, have same code name of Mozilla.
Therefore these browsers can not differentiated based on their code name.
Conclusions;
Remember that these scripts are to be placed on page that has been optimized for viewing using Internet Explorer 5.5 browser.
If a Netscape 6.1 browser is being used, visitor is automatically redirected to page that has been optimized for Netscape 6.1.
If a Netscape 4.7 browser is being used, visitor is automatically redirected to page that has been optimized for either Netscape 4.7 or Internet Explorer 4.0.
If an Internet Explorer 4.0 browser is being used, visitor is automatically redirected to page that has been optimized for either Netscape 4.7 or Internet Explorer 4.0.
If none of these three 'if' conditional statements are true, browser will remain on present page and will continue on with interpreting that page, in this case page that has been optimized for Internet Explorer 5.5.
To use these scripts, remember to replace fictitious pages "nn61.htm", "ienn4.htm", and "ie55.htm" with your actual pages. Also if using one of these scripts on a page that is created for viewing using a browser other than IE 5.5, further adjustments will be necessary, as well as, then re-testing script(s).
Remember that some of other browser types that are in use include, i.e. AOL, Netscape Navigator 3.0 or lower, Internet Explorer 3.0 or lower, Opera (various versions), Web TV, Lynx, Konqueror. All of these are used in small numbers and whether one wants to address each one of these browsers is an individual decision.
There are different web sites that contain statistics on browser usage that can be reviewed. The best source of information on actual browsers that are used to view your web site are your own visitor logs. Check those as they may or may not agree with other published web statistics.
Obviously Intranets are a special environment and one in which pages must be optimized for particular browser that is in use on Intranet machines. This is a much easier situation to have to contend with.
Unfortunately until 'browser wars' come to an end and an 'across board acceptance' of W3C's guidelines for coding is rule, browser incompatibilities will continue to influence web page construction.
After being a practicing dental specialist for twenty-five years, William J. Tolson became intrigued with the Internet and web page design. Self-taught and initially designing and hand coding his own personal web sites, he now devotes all his time as an independent contractor focusing on web page design, optimization and accessibility for all.