const autoEmbedLinksDivs = document.querySelectorAll(".h5p-autoembed"); let loadAutoResizerJs = false; for (const div of autoEmbedLinksDivs) { const autoEmbedLink = div.querySelector("a.autolink"); const autoEmbedUrl = new URL(autoEmbedLink.href); const autoEmbedId = autoEmbedUrl.searchParams.get("id"); const iframe = document.createElement('iframe'); // Concatenate the URL to prevent Moodle's auto link feature to mess with the url iframe.src = "https://" + "lernplattform.bycs.de/mod/hvp/embed.php?id=" + autoEmbedId; iframe.frameborder = div.frameborder ? div.frameborder : 0; iframe.allowfullscreen = div.allowfullscreen ? div.allowfullscreen : "allowfullscreen"; // Lazily load the iframe iframe.loading = "lazy"; iframe.title = autoEmbedLink.title; if (div.width) { iframe.width = div.width; } else { loadAutoResizerJs = true; } if (div.height) { iframe.height = div.height; } else { loadAutoResizerJs = true; } // Replace the div with the new iframe div.parentNode.replaceChild(iframe, div); } if (loadAutoResizerJs) { let head = document.getElementsByTagName('head')[0]; let js = document.createElement("script"); js.type = "text/javascript"; js.src="https://lernplattform.bycs.de/mod/hvp/library/js/h5p-resizer.js"; head.appendChild(js); } async function embedScorm() { for (const div of document.querySelectorAll(".scorm-autoembed")) { const autoEmbedLink = div.querySelector("a.autolink"); const autoEmbedUrl = new URL(autoEmbedLink.href); const scormActivityRes = await fetch(autoEmbedUrl); const scormActivityDoc = new DOMParser().parseFromString(await scormActivityRes.text(), "text/html"); const s = document.createElement("script"); s.text = scormActivityDoc.scripts[4].text; s.setAttribute("type", "text/javascript"); document.body.appendChild(s); const iframe = document.createElement('iframe'); // Concatenate the URL to prevent Moodle's auto link feature to mess with the url iframe.src = `/mod/scorm/player.php?a=$${scormplayerdata.scorm}¤torg=$${scormplayerdata.currentorg}&scoid=$${scormplayerdata.sco}&sesskey=$${M.cfg.sesskey}&display=popup&mode=normal` iframe.frameborder = div.frameborder ? div.frameborder : 0; iframe.allowfullscreen = div.allowfullscreen ? div.allowfullscreen : "allowfullscreen"; iframe.title = autoEmbedLink.title; if (div.style.width) { iframe.width = div.style.width; } if (div.style.height) { iframe.height = div.style.height; } // Replace the div with the new iframe div.parentNode.replaceChild(iframe, div); } } embedScorm();