// License: LGPL-3.0-or-later class PageProgressBar { template: HTMLTemplateElement constructor() { this.template = document.createElement('template') this.template.innerHTML = `
` } beginPageLoad(): void { let element = this.getElem() if (!element) { let firstChild = document.body.firstChild let clone = document.importNode(this.template.content, true) if (firstChild) { document.body.insertBefore(clone, firstChild) } else { document.body.appendChild(clone) } } return } finishPageLoad() { let element = this.getElem() if (element) { element.remove() } } private getElem(): Element { return document.getElementById("pageProgressBar") } } const pp: PageProgressBar = new PageProgressBar(); (window as any).pageProgress = pp let ua = window.navigator.userAgent if (ua.indexOf('MSIE ') <= 0 && ua.indexOf('Trident/') <= 0) { pp.beginPageLoad() }