Techno-magis

Intégration conditionnelle de iFrameResizer

Thursday 25th November 2021

Si vous voulez que votre site soit compatible dans un iframe, mais que ça soit juste si le parent présente la bibliothèque iframe-resizer, il y a une solution assez simple :

En JavaScript vanilla :

CODE:

<script>
window.addEventListener('message', e => {
    if (
        String(e.data).startsWith('[iFrameSizer]') &&
        !document.body.classList.contains('into-container')
    ) {
        var script = document.createElement('script');
        script.src = '**CHEMIN À CHANGER**/iframeResizer.contentWindow.min.js';
        document.head.appendChild(script);
        document.body.classList.add('into-container');
    }
});
</script>

En TypeScript :

CODE:

window.addEventListener('message', (e: MessageEvent) => {
    if (
        String(e.data).startsWith('[iFrameSizer]') &&
        !document.body.classList.contains('into-container')
    ) {
        var script = document.createElement('script');
        script.src = '**CHEMIN À CHANGER**/iframeResizer.contentWindow.min.js';
        document.head.appendChild(script);
        document.body.classList.add('into-container');
    }
});
 

Note la classe “into-container” permet de changer le CSS de la page pour l'adapter au changement de mode.

Categories:
By Zéfling, the 25/11/2021 at 11:59:13
The ticket was read 73 times, with 0 comment posted.
👍 0 👎 0

No comment

Write your below.

Write a commentary