Tài liệu này được dịch bởi AI. Đối với bất kỳ thông tin không chính xác nào, vui lòng tham khảo phiên bản tiếng Anh
JS Block là một "block hiển thị tùy chỉnh" cực kỳ linh hoạt, cho phép bạn viết mã JavaScript trực tiếp để tạo giao diện, liên kết sự kiện, gọi API dữ liệu hoặc tích hợp các thư viện bên thứ ba. Nó phù hợp cho các trường hợp cần hiển thị tùy chỉnh, thử nghiệm tạm thời và mở rộng nhẹ mà các block có sẵn khó đáp ứng.
Ngữ cảnh thực thi (runtime context) của JS Block đã được tích hợp sẵn các khả năng phổ biến, bạn có thể sử dụng trực tiếp:
ctx.element: Bộ chứa DOM của block (đã được đóng gói an toàn dưới dạng ElementProxy), hỗ trợ innerHTML, querySelector, addEventListener, v.v.ctx.requireAsync(url): Tải thư viện AMD/UMD bất đồng bộ theo URL.ctx.importAsync(url): Nhập module ESM động theo URL.ctx.openView: Mở một view đã cấu hình (popup/ngăn kéo/trang).ctx.useResource(...) + ctx.resource: Truy cập dữ liệu dưới dạng tài nguyên.ctx.i18n.t() / ctx.t(): Khả năng quốc tế hóa tích hợp sẵn.ctx.onRefReady(ctx.ref, cb): Hiển thị sau khi bộ chứa sẵn sàng để tránh các vấn đề về thời gian.ctx.libs.React / ctx.libs.ReactDOM / ctx.libs.antd / ctx.libs.antdIcons / ctx.libs.dayjs: Các thư viện phổ biến tích hợp sẵn như React, ReactDOM, Ant Design, biểu tượng Ant Design và dayjs, dùng để hiển thị JSX và xử lý thời gian. (ctx.React / ctx.ReactDOM / ctx.antd vẫn được giữ lại để tương thích.)ctx.render(vnode): Hiển thị một phần tử React, chuỗi HTML hoặc nút DOM vào bộ chứa mặc định ctx.element; nhiều lần gọi sẽ tái sử dụng cùng một React Root và ghi đè nội dung hiện có của bộ chứa.Bạn có thể thêm JS Block vào một trang hoặc một popup.

Trình chỉnh sửa script của JS Block hỗ trợ tô sáng cú pháp, gợi ý lỗi và các đoạn mã (Snippets) tích hợp sẵn, cho phép bạn nhanh chóng chèn các ví dụ phổ biến như: hiển thị biểu đồ, liên kết sự kiện nút, tải thư viện bên ngoài, hiển thị các thành phần React/Vue, dòng thời gian, thẻ thông tin, v.v.
Snippets: Mở danh sách các đoạn mã tích hợp sẵn. Bạn có thể tìm kiếm và chèn đoạn mã đã chọn vào vị trí con trỏ hiện tại trong trình chỉnh sửa mã chỉ với một cú nhấp chuột.Run: Chạy trực tiếp mã trong trình chỉnh sửa hiện tại và xuất nhật ký thực thi ra bảng Logs ở phía dưới. Hỗ trợ hiển thị console.log/info/warn/error, các lỗi sẽ được tô sáng và có thể định vị đến hàng và cột cụ thể.
Ngoài ra, bạn có thể trực tiếp gọi AI nhân viên "Kỹ sư Frontend · Nathan" từ góc trên bên phải của trình chỉnh sửa. Nathan có thể giúp bạn viết hoặc sửa đổi script dựa trên ngữ cảnh hiện tại. Sau đó, bạn có thể "Apply to editor" chỉ với một cú nhấp chuột và chạy mã để xem kết quả. Chi tiết xem tại:
ctx.element (ElementProxy) cho script, chỉ ảnh hưởng đến block hiện tại và không can thiệp vào các khu vực khác của trang.window/document/navigator sử dụng các đối tượng proxy an toàn, cho phép sử dụng các API phổ biến trong khi hạn chế các hành vi rủi ro.class hoặc [name=...]. Tránh sử dụng id cố định để ngăn ngừa xung đột về kiểu dáng hoặc sự kiện do trùng lặp id khi có nhiều block hoặc popup.