Skip to content

necolas/dom-shims

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

10 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

dom-shims

Build Status

Sauce Test Status

Complete and well-tested shims / polyfills for various DOM API's missing in not-so-modern browsers.

Installation

npm install --save dom-shims

Apply all the shims by requiring the module without assignment:

require('dom-shims');

Or apply specific shims:

require('dom-shims/shim/CustomEvent');
require('dom-shims/shim/Element.classList');
require('dom-shims/shim/Element.matches');

Features

Event polyfills

Element.prototype shims

NOTES:

  1. Ensures all browsers have classList support for SVG elements, multiple-argument support for add and remove, force-argument support for toggle, and correct length and item values even when the class value is mutated by means other than classList.

  2. Patches IE 9's implementation, which lacks support for Elements not attached to the document.

Element mutation

DOM Level 4 mutation macros for:

  • Element#append()
  • Element#prepend()
  • Element#after()
  • Element#before()
  • Element#remove()
  • Element#replace()

Other shims

Browser support

Intended support for:

  • Chrome
  • Firefox
  • IE9+
  • Safari 6+
  • Android 4+
  • Safari iOS 5.1+
  • Opera

Acknowledgements

Thanks to the following libraries for inspiration, ideas, and workarounds:

About

Complete and well-tested shims / polyfills for various DOM API's missing in not-so-modern browsers

Resources

License

Stars

Watchers

Forks

Packages

No packages published