browser-upgrade-lite

Implement EcmaScript 5 methods for older browsers

@version    1.1.3
@date       2015-02-25
@stability  3 - Stable

Browser upgrade

Implement EcmaScript 5 methods for older browsers.

  • Functionprototype.bind
  • Object.keys
  • Object.create
  • Array.isArray
  • Array.prototype.indexOf
  • Array.prototype.lastIndexOf
  • Array.prototype.reduce
  • Array.prototype.reduceRight
  • Array.prototype.forEach
  • Array.prototype.every
  • Array.prototype.map
  • Array.prototype.filter
  • Array.prototype.some
  • Date.prototype.toISOString
  • Date.now
  • String.prototype.trim
  • JSON
  • atob/btoa (base64) // In separate file
  • Promise // In separate file

  • If no !DOCTYPE is specified, IE6-9 renders the page in IE5 mode!

  • document.createDocumentFragment is unsupported in IE5.5

  • IE 5.5 doesn't support the * collection (all elements) in document.getElementByTagName — it returns a collection with zero members

  • instanceof is not implemented in IE 5 MAC

  • Safari 2.0.2: 416 hasOwnProperty introduced October 31, 2005 (Mac OS X v10.4)

    // Polyfill 
    Object.prototype.hasOwnProperty = function(nameobj) {
        try {
            obj = this.constructor
            while (obj=obj.prototype) if (obj[name]===this[name]) return false
        } catch(e) {}
        return true
    }

Copyright (c) 2012, 2014 Lauri Rooden <lauri@rooden.ee>
The MIT License