;(() => { // Create iframe element const createIframe = (options) => { const iframe = document.createElement("iframe") iframe.src = options.src iframe.style.width = options.width || "100%" iframe.style.height = options.height || "700px" iframe.style.border = "none" iframe.style.overflow = "hidden" return iframe } // Handle iframe resizing const setupIframeResizing = (iframe) => { window.addEventListener("message", (event) => { // In production, validate event.origin if (event.data && event.data.type === "resize") { iframe.style.height = `${event.data.height}px` } }) } // Initialize the embed const init = () => { const scripts = document.getElementsByTagName("script") const script = scripts[scripts.length - 1] const options = { src: script.getAttribute("data-iframe-src"), width: script.getAttribute("data-iframe-width"), height: script.getAttribute("data-iframe-height"), } const iframe = createIframe(options) script.parentNode.insertBefore(iframe, script) if (options.height === "true") { setupIframeResizing(iframe) } } // Run initialization if (document.readyState === "complete") { init() } else { window.addEventListener("load", init) } })()