w3i is a library that aims to solve Javascript and HTML DOM crossbrowser compatibility problems and just that. It also aims to not burden the programmer with learning new commands, but be able to use it without needing to study beyond the standard Javascript language.
There's a multitude of great libraries that solve cross browser compatibility problems, but they offer new command names and syntax and a heap of other useful but not immediately needed functionalities. Sometimes a programmer just needs to solve a cross browser problem and nothing more.
w3i, which stands for W3c Interface, aims to maintain the syntax of the W3C specification (there are a couple of non-standard functions which are widely used among browsers). It is also non-obtrusive in that no Javascript or DOM objects are changed. Nothing is happening under the hood.
In a nutshell, the way it handles the above goals is that for any W3C function someObj.someFunc(param1, param2) that does not work cross-browser, there is an equivalent w3i function which is called as follows: w3i.someFunc(someObj, param1, param2)
E.g: myElem.firstElementChild() ==> w3i.firstElementChild(myElem)
The library is still in alpha. On the TODO list are still:
- Creating detailed documentation that doubles as web reference for javascript incompatilibities.
- Creating unit testing suites.
- Aiming for IE6+ compatiblity preferably, IE7+ otherwise. Firefox 3.0+ plus compatibility, 3.5+ otherwise. Ensure Safari, Chrome and Opera compatibility - specific oldest versions are yet to be determined.
You can find more details on usage and assumptions, main references, similar libraries of interest, implemented and non implemented function, in the Detailed Guide.