Blok Iframe
Pengenalan
Blok IFrame memungkinkan Anda menanam halaman web eksternal atau konten ke halaman saat ini. Pengguna dapat dengan mudah mengintegrasikan aplikasi eksternal ke halaman dengan mengkonfigurasi URL atau menyisipkan kode HTML secara langsung. Saat menggunakan halaman HTML, pengguna dapat secara fleksibel menyesuaikan konten untuk memenuhi kebutuhan tampilan tertentu. Cara ini sangat cocok untuk skenario yang membutuhkan tampilan kustomisasi, dapat memuat sumber daya eksternal tanpa navigasi, meningkatkan pengalaman pengguna dan efek interaksi halaman.
Instalasi
Plugin bawaan, tidak perlu instalasi.
Tambahkan Blok

Konfigurasikan URL atau HTML untuk menanam aplikasi eksternal secara langsung.

Engine Template
Template String
Engine template default
Handlebars

Untuk informasi lebih lanjut, lihat dokumentasi engine template Handlebars
Meneruskan Variabel
HTML Mendukung Parsing Variabel
Mendukung Pemilihan Variabel Konteks Blok Saat Ini dari Pemilih Variabel


Mendukung Injeksi Variabel ke Aplikasi melalui Kode dan Penggunaannya
Anda juga dapat menginjeksikan variabel kustom ke aplikasi melalui kode dan menggunakannya di HTML. Misalnya, gunakan Vue 3 dan Element Plus untuk membuat aplikasi kalender dinamis:

Contoh: komponen kalender sederhana yang dibuat dengan React dan Ant Design (antd), dikombinasikan dengan dayjs untuk menangani tanggal

URL Mendukung Variabel

Untuk informasi lebih lanjut tentang variabel, lihat dokumentasi variabel
Membuat Iframe dengan JS Block (NocoBase 2.0)
Pada NocoBase 2.0, Anda dapat menggunakan JS Block untuk membuat iframe secara dinamis, sehingga mendapatkan kontrol yang lebih banyak. Pendekatan ini memberikan fleksibilitas yang lebih baik untuk menyesuaikan perilaku dan gaya iframe.
Contoh Dasar
Buat JS Block dan gunakan kode berikut untuk membuat iframe:
Poin Penting
- ctx.element: elemen DOM container JS Block saat ini
- Atribut sandbox: mengontrol batasan keamanan konten iframe
allow-scripts: memungkinkan iframe mengeksekusi skripallow-same-origin: memungkinkan iframe mengakses asalnya sendiri
- replaceChildren(): mengganti semua elemen anak container dengan iframe
Contoh Lanjutan dengan Status Loading
Anda dapat meningkatkan pembuatan iframe dengan status loading dan penanganan error:
Pertimbangan Keamanan
Saat menggunakan iframe, pertimbangkan praktik terbaik keamanan berikut:
- Gunakan HTTPS: jika memungkinkan, selalu muat konten iframe melalui HTTPS
- Batasi izin Sandbox: aktifkan hanya izin sandbox yang diperlukan
- Kebijakan Keamanan Konten: konfigurasikan header CSP yang sesuai
- Kebijakan Same-origin: perhatikan batasan cross-origin
- Sumber tepercaya: muat konten hanya dari domain tepercaya

