This library is built with current and proposed functions from the Code Worth Recommending project, a repository of browser scripting functions maintained by members of comp.lang.javascript.
This project was started in the Fall of 2007. It was created in response to numerous posts requesting information about quality general-purpose browser scripting libraries. As there are no quality general-purpose browser scripting libraries, the project was initiated to create one. More information about the project can be found on its site.
There is limited code in the repository at this time. Functions covered includes a simple wrapper for the Ajax XHR object, form serialization and basic DOM traversal. This library features numerous functions that are proposed for inclusion in the repository, including event-related functions and an advanced CSS selector query. In addition, it can optionally include an object-oriented interface. Most of the proposed code is new (or newly reformatted), so this library should be considered a proving ground, not a factory for production.
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. JavaScript 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.net