Estoy trabajando en la creación de un iframe que tendrá código html y JS. El código que entra en el blob será algo como:
'''
<script src="{% static 'js/bootstrap.min.js' %}" > </script> <script src="https://<domain>/controller/api_browser_retrieve_script/"></script> <html> <body> stuff in the html...'''
El segundo script src que apunta a 'https://../api_browser_retrieve_script/' luego extrae un archivo de código JS de una aplicación, y quiero que este script esté disponible en el iframe para usar en el html, como JS en línea está siendo objeto de dumping por mis políticas de CSP.
Esta plantilla de código de arriba se coloca en una variable llamada iframecode y se convierte en un blob llamado blobContent:
const blobContent = new Blob([iframecode], {type: "text/html"}); var iFrameM = document.createElement("iframe"); iFrameM.src = URL.createObjectURL(blobContent); window.frames[0].document.body.appendChild(iFrameM);Sin embargo, cuando se agrega iFrameM a la página principal, el blob comenzará a cargarse en el iframe, y luego el navegador verá las etiquetas de script y luego no podrá cargar el resto debido a un error de Mimetype. Puedo configurar el tipo mime en 'aplicación/javascript', pero luego el html ya no funciona. ¿Hay alguna manera de hacer que el blob se cargue en el iframe y que el iframe aún cargue el código JS y se ejecute correctamente?