Bloque Iframe
Block: iframeCommunity Edition+Introducción
El bloque Iframe le permite incrustar páginas web o contenido externo en la página actual. Puede integrar aplicaciones externas fácilmente configurando una URL o insertando directamente código HTML. Al usar HTML, tiene la flexibilidad de personalizar el contenido para satisfacer sus necesidades de visualización específicas, lo que lo hace ideal para escenarios personalizados. Este enfoque permite cargar recursos externos sin redirecciones, mejorando la experiencia del usuario y la interactividad de la página.
Instalación
Es un plugin integrado, no requiere instalación.
Añadir bloques

Configure la URL o el HTML para incrustar directamente la aplicación externa.

Motor de plantillas
Plantilla de cadena
Es el motor de plantillas predeterminado.
Handlebars

Para obtener más información, consulte la documentación del motor de plantillas de Handlebars.
Paso de variables
Soporte HTML para el análisis de variables
Soporte para seleccionar variables del selector de variables en el contexto del bloque actual


Soporte para inyectar variables en la aplicación y utilizarlas a través de código
También puede inyectar variables personalizadas en la aplicación a través de código y utilizarlas en HTML. Por ejemplo, para crear una aplicación de calendario dinámico usando Vue 3 y Element Plus:

Ejemplo: Un componente de calendario simple creado con React y Ant Design (antd), utilizando dayjs para manejar las fechas.

La URL admite variables

Para obtener más información sobre las variables, consulte la documentación de Variables.
Creación de Iframes con bloques JS (NocoBase 2.0)
En NocoBase 2.0, puede usar bloques JS para crear iframes dinámicamente con mayor control. Este enfoque le brinda más flexibilidad para personalizar el comportamiento y el estilo del iframe.
Ejemplo básico
Cree un bloque JS y use el siguiente código para crear un iframe:
Puntos clave
- ctx.element: El elemento DOM del contenedor del bloque JS actual.
- atributo
sandbox: Controla las restricciones de seguridad para el contenido del iframe.allow-scripts: Permite que el iframe ejecute scripts.allow-same-origin: Permite que el iframe acceda a su propio origen.
replaceChildren(): Reemplaza todos los elementos secundarios del contenedor con el iframe.
Ejemplo avanzado con estado de carga
Puede mejorar la creación de iframes con estados de carga y manejo de errores:
Consideraciones de seguridad
Al usar iframes, tenga en cuenta las siguientes mejores prácticas de seguridad:
- Uso de HTTPS: Siempre que sea posible, cargue el contenido del iframe a través de HTTPS.
- Restricción de permisos de Sandbox: Habilite solo los permisos de sandbox necesarios.
- Política de seguridad de contenido (CSP): Configure los encabezados CSP apropiados.
- Política del mismo origen: Tenga en cuenta las restricciones de origen cruzado.
- Fuentes confiables: Cargue contenido solo de dominios confiables.

