...

Code Block
<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document<<title>Example IFrame Embedded Custom Domain App</title>
    <style>
        body,
        html {
            margin: 0;
            padding: 0;
            height: 100%;
            width: 100%;
            overflow: hidden;
            /* Optional: Disable scrollbars */
        }

        #mazemap-app-iframe {
            position: absolute;
            top: 0;
            left: 0;
            width: 100%;
            height: 100%;
            border: none;
            /* Optional: Remove border */
        }
    </style>

</head>

<body>
    <iframe allow="web-share geolocation magnetometer gyroscopegeolocation https://use.mazemap.com;" id="mazemap-app-iframe" width="100%" height="100%"
        frameborder="0" scrolling="no" marginheight="0" marginwidth="0"
        src="https://use.mazemap.com/?config=mazemapcustomer-example-hq"
       config" style="border: 1px solid grey"></iframe>

    <script>
        // Example code on customer web page
        // When opening link such as:
        // https://your-domain.com/maps/?mazemap_share_url=https%3A%2F%2Fuse.mazemap.com%2F%23v%3D1%26config%3Dcustomer-example-config%26center%3D10.407538%2C63.432910%26zoom%3D19%26zlevel%3D6%26utm_medium%3Dcustom_share_url

        const DEFAULT_MAZEMAP_IFRAME_URL = new URL('https://use.mazemap.com/?config=mazemapcustomer-example-hqconfig');

        function setMazeMapIframeUrl(url) {
            const iframe = document.getElementById("mazemap-app-iframe");
            if (url && url.href) {
                iframe.src = url.href;
            }
        }

        // Read the url
        const url = new URL(location.href)

        // Get the mazemap share url
        const mazemapUrlString = url.searchParams.get('mazemap_share_url')

        if (mazemapUrlString) {
            try {
                // Attempt to convert the url string into a proper URL
                // If the url is not valid or malformed, this will fail and
                // end up in the catch block.
                const url = new URL(mazemapUrlString);

                // After valid url parsing, update the iframe with the shared mazemap url
                setMazeMapIframeUrl(url);
            } catch (e) {
                console.error("Error valiadating url", e);
                // Fall back to setting the default iframe URL if there was an error
                setMazeMapIframeUrl(DEFAULT_MAZEMAP_IFRAME_URL.href);
            }
            // Use history api to just remove the search params from the url
            window.history && window.history.replaceState({}, document.title, location.pathname);
        } else {
            // If no MazeMap share url was found, just set the default url
            setMazeMapIframeUrl(DEFAULT_MAZEMAP_IFRAME_URL.href);
        }
    </script>
</body>

</html>