The browser software running on the client computer is an integral part of the Web application, providing the context in which the published content appears on the client computer. The browser is also responsible for parsing and translating the HTML code into the visual Web page. For example, the browser determines which font installed on the client computer will be used to display heading elements, and the browser provides the implementation of interactive elements such as text boxes and buttons.
Most users run Web browser software from one of the two vendors that dominate the market: Microsoft Internet Explorer or Netscape Communicator/Navigator. It's important to understand that the vendor or version of the Web browser software is completely unrelated to the vendor or version of the Web server software. In fact, it is a core characteristic of Web applications that the publisher of information has no foreknowledge of or control over the client software used to access this information.
In addition to evaluating HTML and displaying content, the browser provides support for programmatic extension and customization by implementing one or more object models and an event mechanism. As a later article will explain in detail, client-side scripts, which are essentially lightweight programs transferred from the server to the client, leverage these to provide enhanced functionality in Web applications.
The browser exposes much of its functionality to programmers through a number of objects, software elements that encapsulate data and the functions that operate on that data. One important object hierarchy is the document object model (DOM), which provides programmatic access to many of the elements of the HTML document. Client-side scripts use the DOM to read and modify the content and structure of the document. For example, a script could add and remove items from a list in response to user input.
Another important object model is the DHTML object model. Using the DHTML object model, script can programmatically change the attributes of HTML elements. For example, scripts can dynamically change font size, color, and weight.
The browser also supports a mechanism through which code can be run in response to events, such as a change of state in the application or the user interacting with an element through a mouse click. This allows the developer to implement custom code that runs when specified events take place. For example, script code can be linked to input elements to carry out data validation when a button is pressed by the user.
Object models and events are more properly considered part of the browser and system infrastructure, not part of the HTML language. Later articles on client-side scripting will cover guidelines for writing code that uses object models and events in detail.