Scripts sometimes need to obtain information about the web
browser in which they are running or the desktop on which the browser
appears. This section describes the
screen properties of the Window object.
Those properties refer to Navigator and Screen objects, respectively,
and these objects provide information that allows a script to
customize its behavior based on its environment.
navigator property of a
Window object refers to a Navigator object that contains browser
vendor and version number information. The Navigator object is named
after the early Navigator browser from Netscape, but it is also
supported by all other browsers. (IE also supports
clientInformation as a vendor-neutral
Unfortunately, other browsers have not adopted this more sensibly
In the past, the Navigator object was commonly used by scripts to determine if they were running in Internet Explorer or Netscape. This “browser-sniffing” approach is problematic because it requires constant tweaking as new browsers and new versions of existing browsers are introduced. Today, feature testing (see Feature Testing) is preferred: rather than making assumptions about particular browser versions and their features, you simply test for the feature (i.e., the method or property) you need.
Browser sniffing is sometimes still valuable, however, such as when you need to work around a specific bug that exists in a specific ...