-
Notifications
You must be signed in to change notification settings - Fork 32
Open
Description
function loadStyle (href) {
return new Promise(function (resolve, reject) {
let shouldAppend = false;
let el = document.querySelector('link[href="' + href + '"]');
if (!el) {
el = document.createElement('link');
el.rel = 'stylesheet';
el.async = true;
el.href = href;
shouldAppend = true;
}
else if (el.hasAttribute('data-loaded')) {
resolve(el);
return;
}
el.addEventListener('error', reject);
el.addEventListener('abort', reject);
el.addEventListener('load', function loadScriptHandler() {
el.setAttribute('data-loaded', true);
resolve(el);
});
if (shouldAppend) document.head.appendChild(el);
});
};
OleksandrSymonov and jhoermann
Metadata
Metadata
Assignees
Labels
No labels