@version 1.3.0
@date 2016-07-08
@stability 3 - Stable
Browser upgrade
Implement EcmaScript 5 methods for older browsers.
Contains
- Function.prototype.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.toJSON
- Date.now
- String.prototype.trim
- JSON
- performance.now
- Object.assign (Use this for optional load)
- fixes FF3
escape
second non-standard argument (bug)
- removes background image flickers on hover in IE6
- atob/btoa (base64) // In separate file
- Promise // In separate file
Notes
- 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 IE5 MAC
- Safari 2.0.2: 416 hasOwnProperty introduced October 31, 2005 (Mac OS X v10.4)
// hasOwnProperty polyfill
Object.prototype.hasOwnProperty = function(name, obj) {
try {
obj = this.constructor
while (obj=obj.prototype) if (obj[name]===this[name]) return false
} catch(e) {}
return true
}
External links
Licence
Copyright (c) 2012-2016 Lauri Rooden <lauri@rooden.ee>
The MIT License
Have an update or suggestion for this note?
You can edit it and send me a pull request.