My Library is a browser scripting library (also known as an Ajax library) built with current and proposed functions from the now defunct Code Worth Recommending project, a repository of browser scripting functions maintained by members of comp.lang.javascript.
Functions covered includes a simple wrapper for the Ajax XHR object, form serialization, normalization of event handling, DOM traversal and an advanced CSS selector query. In addition, it can optionally include an object-oriented interface.
It is well established that the currently popular browser scripting libraries were written by people with little command of the JavaScript language, issues specific to browser scripting or programming in general. It is a sad state of affairs that so many developers rely on code written by such people, evidenced by the proliferation of script errors and broken pages on the public Internet.
These libraries support only a handful of browsers and rely on browser sniffing to do so. Even worse, unsupported browsers and other agents are often presented with documents that break in unexpected ways, sometimes rendering them unusable. Browser scripting is supposed to be a potential enhancement, not a potential liability.
There is no browser sniffing of any kind in this library. Thorough feature detection ensures that it is both backward compatible and future-proof. The library features a dynamic interface, which is designed to simplify feature detection for the calling application, making it easy to implement graceful degradation and/or progressive enhancement.
There is no augmentation of host or built-in objects. The OOP layer is thin and optional, rather than tangled up in the inner workings of the functional API.
There is no list of supported browsers. Unless otherwise noted, all features should work properly or degrade gracefully in virtually any (X)HTML user agent.
The design is modular with a high level of granularity to minimize the downloading of unused code.
You can build your own custom version of this library with the online builder.
dmark@cinsoft.netLast Modified: 13 Dec 2008 14:33:00 GMT