const loading = document.getElementById("loading") loading.textContent = "Loading, please wait..." const progress = document.getElementById("progress") let wikiPage = null function wikiPageCallback(data) { wikiPage = data cont() } let siteinfo = null function siteinfoCallback(data) { siteinfo = data cont() } async function cont() { if (!(wikiPage && siteinfo)) return const xhr = new XMLHttpRequest(); const uploadFraction = 0.7 // Upload progress xhr.upload.addEventListener("progress", event => { if (event.lengthComputable) { progress.value = (event.loaded / event.total) * uploadFraction console.log( `Uploaded ${((event.loaded / event.total) * 100).toFixed(2)}%`, ) } }) // Download progress xhr.addEventListener("progress", event => { if (event.lengthComputable) { progress.value = (event.loaded / event.total) * (1 - uploadFraction) + uploadFraction console.log( `Downloaded ${((event.loaded / event.total) * 100).toFixed(2)}%`, ) } }) xhr.addEventListener("load", () => { console.log(xhr) document.body = xhr.responseXML.body }) xhr.open("POST", "/api/render/wiki") xhr.responseType = "document" xhr.send(JSON.stringify({ data: wikiPage, siteinfo, wikiname, path })); }