@polygonjs/polygonjs
Version:
node-based WebGL 3D engine https://polygonjs.com
31 lines (30 loc) • 990 B
JavaScript
;
import { Poly } from "../../engine/Poly";
export class CoreStylesheetLoader {
static loadUrl(url) {
return new Promise(async (resolve) => {
const elements = url.split(".");
const ext = elements[elements.length - 1];
if (ext != "css") {
url = `${url}.css`;
}
if (!Poly.inWorkerThread()) {
const id = url.replace(/[\W_]+/g, "_");
let stylesheet = document.getElementById(id);
if (!stylesheet) {
stylesheet = document.createElement("link");
stylesheet.type = "text/css";
stylesheet.rel = "stylesheet";
const performance = Poly.performance.performanceManager();
stylesheet.href = `${url}?${performance.now()}`;
stylesheet.id = id;
stylesheet.addEventListener("load", function() {
resolve();
});
document.getElementsByTagName("head")[0].appendChild(stylesheet);
}
}
resolve();
});
}
}