Iframe Block
Giới thiệu
IFrame Block cho phép nhúng trang web hoặc nội dung bên ngoài vào trang hiện tại. Người dùng có thể dễ dàng tích hợp ứng dụng bên ngoài vào trang bằng cách cấu hình URL hoặc chèn trực tiếp mã HTML. Khi sử dụng trang HTML, người dùng có thể tùy biến nội dung linh hoạt để đáp ứng nhu cầu hiển thị cụ thể. Cách tiếp cận này đặc biệt phù hợp với các kịch bản cần hiển thị tùy chỉnh, có thể tải tài nguyên bên ngoài mà không cần chuyển trang, nâng cao trải nghiệm người dùng và hiệu quả tương tác trang.
Cài đặt
Plugin tích hợp sẵn, không cần cài đặt.
Thêm block

Cấu hình URL hoặc HTML để nhúng trực tiếp ứng dụng bên ngoài.

Template engine
Template chuỗi
Template engine mặc định
Handlebars

Để biết thêm nội dung, tham khảo tài liệu template engine Handlebars
Truyền biến vào
HTML hỗ trợ phân tích biến
Hỗ trợ chọn biến từ context của block hiện tại trong variable selector


Hỗ trợ inject biến vào ứng dụng và sử dụng thông qua viết code
Bạn cũng có thể inject biến tùy chỉnh vào ứng dụng thông qua code và sử dụng chúng trong HTML. Ví dụ, sử dụng Vue 3 và Element Plus để tạo ứng dụng calendar động:

Ví dụ: Component calendar đơn giản tạo bằng React và Ant Design (antd), kết hợp với dayjs để xử lý ngày tháng

URL hỗ trợ biến

Để biết thêm nội dung về biến, tham khảo tài liệu biến
Sử dụng JS Block để tạo Iframe (NocoBase 2.0)
Trong NocoBase 2.0, bạn có thể sử dụng JS Block để tạo iframe động, từ đó có nhiều kiểm soát hơn. Cách tiếp cận này cung cấp tính linh hoạt tốt hơn để tùy chỉnh hành vi và style của iframe.
Ví dụ cơ bản
T ạo một JS Block và sử dụng đoạn code sau để tạo iframe:
Các điểm chính
- ctx.element: Phần tử DOM của container JS Block hiện tại
- Thuộc tính sandbox: Kiểm soát hạn chế bảo mật của nội dung iframe
allow-scripts: Cho phép iframe thực thi scriptallow-same-origin: Cho phép iframe truy cập origin của chính nó
- replaceChildren(): Thay thế tất cả phần tử con của container bằng iframe
Ví dụ nâng cao với trạng thái loading
Bạn có thể nâng cao việc tạo iframe bằng trạng thái loading và xử lý lỗi:
Lưu ý về bảo mật
Khi sử dụng iframe, hãy cân nhắc các thực hành bảo mật tốt nhất sau:
- Sử dụng HTTPS: Luôn tải nội dung iframe qua HTTPS bất cứ khi nào có thể
- Hạn chế quyền Sandbox: Chỉ bật các quyền sandbox cần thiết
- Content Security Policy: Cấu hình CSP header phù hợp
- Same-origin Policy: Lưu ý đến hạn chế cross-origin
- Nguồn đáng tin cậy: Chỉ tải nội dung từ các domain đáng tin cậy

