JavaScript’s Navigator object indicates the type of browser accessing a page as well as many of its characteristics. By using the Navigator object, Screen object, and a few other Window and Document properties, we should be able to detect just about everything we would want to control, including: technology usage, screen properties, and user preferences. Using JavaScript, we can then output appropriate page markup or redirect the user to another page using the Location object. It is also possible to simulate some browser facilities, such as button clicks or preference changes, but there are potential security problems that need to be considered. While browser detection and control techniques can be very useful, there is also a great deal of sophistication involved with their use in a Web site. Developers should make sure to test these approaches well before moving them to a production Web site.