Everyone Closer To DOM Level 4

This polyfill has been teste against any sort of new or old browsers
including IE8 (yes, you read that correctly) and Nokia ASHA Xpress Browser,
passing through webOS, FirefoxOS, iOS 5.1 and above, IE9 Mobile up to 11
Desktop, and every single browser I could try.

The surprising part of doing this polyfill was discovering few
inconsistencies between modern browsers and absent implementations of such
W3C API which is not bad at all, I would say, and it has tested trying to
respect as much as possible all specs.

What am I talking about?


   - Element#prepend()
   - Element#append()
   - Element#before()
   - Element#after()
   - Element#replace()
   - Element#remove()
   - Element#classList
   - CustomEvent constructor

First to Element#classList are almost absent everywhere while
Element#classList is broken in iOS 5.1 and Nokia ASHA not accepting
multiple arguments with methods such add() and remove() and not respecting
all rules defined for toggle().

Last, but not least, there are still browsers out there that do not support
CustomEvent including IE10 (probably 11 too) that requires an
initCustomEvent over a document.createEvent('CustomEvent') call.

This is one of my best contribution to have a more standard Web and move
forward bringing DOM Level 4 API that makes the usage of libraries mostly
redundant.

I hope you'll appreciate the effort.

Here the repo: https://github.com/WebReflection/dom4#dom4

It requires conditional comments for IE8 only through:
https://github.com/WebReflection/ie8#ie8

It has been tested out there in real IE8 browsers (not the simulated one)
and is green.

The test suite is here: http://webreflection.github.io/dom4/test/

If it's red might be your browser does not respect standards so please let
me know and I'll fix that.

Best Regards,
    Andrea Giammarchi

Received on Friday, 4 October 2013 01:31:56 UTC