Files
30-seconds-of-code/node_modules/@mikaelkristiansson/domready/ready.js
2019-08-20 15:52:05 +02:00

36 lines
1.0 KiB
JavaScript

/*!
* domready (c) Dustin Diaz 2014 - License MIT
* ie10 fix - Mikael Kristiansson 2019
*/
!function (name, definition) {
if (typeof module != 'undefined') module.exports = definition()
else if (typeof define == 'function' && typeof define.amd == 'object') define(definition)
else this[name] = definition()
}('domready', function () {
var ie10 = false;
if (navigator.appVersion.indexOf("MSIE 10") !== -1) {
ie10 = true;
}
var fns = [], listener
, doc = typeof document === 'object' && document
, hack = ie10 ? doc.documentElement.doScroll() : doc.documentElement.doScroll
, domContentLoaded = 'DOMContentLoaded'
, loaded = doc && (hack ? /^loaded|^c/ : /^loaded|^i|^c/).test(doc.readyState)
if (!loaded && doc)
doc.addEventListener(domContentLoaded, listener = function () {
doc.removeEventListener(domContentLoaded, listener)
loaded = 1
while (listener = fns.shift()) listener()
})
return function (fn) {
loaded ? setTimeout(fn, 0) : fns.push(fn)
}
});