Introducing DOCJSLIB, A Browser-Independent JavaScript Library for DHTML, Part I - Doc JavaScript
Introducing DOCJSLIB, A Cross-Browser JavaScript Library
In this column we embark on a series of columns that are targeted to provide a solution to the inconsistencies between Netscape Navigator and Microsoft Explorer. Keeping JavaScript code Navigator-compliant as well as Explorer-compliant is a real burden, especially when managing property-rich DHTML elements. Handling the differences between these browsers requires intimate knowledge of their document models. These differences are not going to disappear any time soon, but rather to grow with every new version of Netscape Navigator or Internet Explorer.
DOCJSLIB is a library of functions that hide the browser dependencies from the scripter. DOCJSLIB is based on a certain DHTML element model and operations on it. DOCJSLIB Version 1.0 is obviously limited in capabilities, but new, richer versions are planned for upcoming columns. The main focus of this column is to present the DHTML model and the proper usage of DOCJSLIB. We demonstrate the power of DOCJSLIB by programming the popular Connect Three board game with it.
In this column you'll learn:
- How to recognize the main differences between browsers' DHTML elements.
- How to use a number of common methods for handling inconsistencies between browsers.
- How to use DOCJSLIB for handling inconsistencies between browsers.
- How to interpret DOCJSLIB's model for a cross-browser DHTML element..
- How to decipher the
makeImage()
function. - How to use DOCJSLIB for writing your application's body.
- How to use DOCJSLIB for writing your application's event handler.
- How to use DOCJSLIB for writing your application's functions.
At this point, you may also view the code for the Connect Three board game, or just for DOCJSLIB library. Just copy from these files and paste to your own application. A ZIP file version of DOCJSLIB library is also provided.
Created: October 12, 1998
Revised: October 12, 1998
URL: https://www.webreference.com/js/column27/