#1456·core-js

Some new polyfills

Author: unhighghlowCreated Aug 30, 2025Updated Mar 15, 2026
Labelsenhancementweb standards

Unfortunately I'm not an experienced javascript developer, nor can I tell if the code I provided is ES3, so I'm submitting these in the form of an issue instead of a PR. With these (passed through babel with this script) I was able to run a fairly complex web app (the nowebsite example) on IE>=9, Chrome>=10 and Firefox>=4 (see: my tests)

A few notes:

  1. Most of these weren't written by me. I provide a source in that case
  2. There're versions of these polyfills for IE8 (modified by me), but they only barely work on IE8, don't make the app functional (just allow it to render a single page without crashing), and require a nasty patch to core-js (though that is only for the code generated by the bundler, so maybe it's fine)
  3. The most important one of these is requestIdleCallback, which has been requested in #846

Element.classList (caniuse) -- source: Unlicense, ie9+ version, ie8 version, diff

Element.append (caniuse) and Element.prepend (caniuse) -- source: no license, ie9+ version, ie8 version (requires hasproperty.js (own work: BSD0)), diff

Element.remove (caniuse) -- source: MIT, ie9+ version, ie8 version (requires hasproperty.js (own work: BSD0)), diff

Element.replaceWith (caniuse) -- own work: BSD0, ie9+ version, ie8 version (requires hasproperty.js (own work: BSD0)), diff

Element.innerText (caniuse) -- source: no license, ie8+ version

IE9 oninput fix (stackoverflow) -- source: probably MIT, ie9+ version

requestIdleCallback (caniuse) -- source: MIT and Apache-2.0, ie8+ version

Test pages built with these polyfills:

ie8-test.html ie9-test.html

Hope this helps