Dokumen ini diterjemahkan oleh AI. Untuk ketidakakuratan apa pun, silakan lihat versi bahasa Inggris
JS Block adalah "blok rendering kustom" yang sangat fleksibel. Blok ini mendukung penulisan skrip JavaScript secara langsung untuk menghasilkan antarmuka, mengikat event, memanggil API data, atau mengintegrasikan pustaka pihak ketiga. JS Block cocok untuk skenario visualisasi yang dipersonalisasi, eksperimen sementara, dan ekstensi ringan yang sulit dicakup oleh blok bawaan.
Konteks runtime JS Block telah dilengkapi dengan kemampuan umum yang dapat langsung Anda gunakan:
ctx.element: Kontainer DOM blok (dibungkus dengan aman sebagai ElementProxy), mendukung innerHTML, querySelector, addEventListener, dan lainnya;ctx.requireAsync(url): Memuat pustaka AMD/UMD secara asinkron berdasarkan URL;ctx.importAsync(url): Mengimpor modul ESM secara dinamis berdasarkan URL;ctx.openView: Membuka tampilan yang telah dikonfigurasi (popup/drawer/halaman);ctx.useResource(...) + ctx.resource: Mengakses data sebagai sebuah sumber daya;ctx.i18n.t() / ctx.t(): Kemampuan internasionalisasi bawaan;ctx.onRefReady(ctx.ref, cb): Merender setelah kontainer siap untuk menghindari masalah waktu;ctx.libs.React / ctx.libs.ReactDOM / ctx.libs.antd / ctx.libs.antdIcons / ctx.libs.dayjs: Pustaka umum bawaan seperti React, ReactDOM, Ant Design, ikon Ant Design, dan dayjs, digunakan untuk rendering JSX dan utilitas waktu. (ctx.React / ctx.ReactDOM / ctx.antd tetap dipertahankan untuk kompatibilitas.)ctx.render(vnode): Merender elemen React, string HTML, atau node DOM ke kontainer default ctx.element; beberapa panggilan akan menggunakan kembali React Root yang sama dan menimpa konten yang ada di kontainer.Anda dapat menambahkan JS Block ke halaman atau popup.

Editor skrip JS Block mendukung penyorotan sintaksis, petunjuk kesalahan, dan cuplikan kode bawaan (Snippets), memungkinkan Anda untuk dengan cepat menyisipkan contoh umum seperti merender grafik, mengikat event tombol, memuat pustaka eksternal, merender komponen React/Vue, linimasa, kartu informasi, dan lainnya.
Snippets: Membuka daftar cuplikan kode bawaan. Anda dapat mencari dan menyisipkan cuplikan yang dipilih ke editor kode pada posisi kursor saat ini dengan satu klik.Run: Menjalankan kode secara langsung di editor saat ini dan menampilkan log eksekusi ke panel Logs di bagian bawah. Ini mendukung tampilan console.log/info/warn/error, dan kesalahan akan disorot dengan tautan ke baris dan kolom tertentu.
Selain itu, Anda dapat langsung memanggil karyawan AI "Frontend Engineer · Nathan" dari sudut kanan atas editor. Nathan dapat membantu Anda menulis atau memodifikasi skrip berdasarkan konteks saat ini. Anda kemudian dapat "Apply to editor" dengan satu klik dan menjalankan kode untuk melihat hasilnya. Untuk detailnya, lihat:
ctx.element (ElementProxy) yang aman untuk skrip, yang hanya memengaruhi blok saat ini dan tidak mengganggu area lain di halaman.window/document/navigator menggunakan objek proxy yang aman, memungkinkan API umum digunakan sambil membatasi perilaku berisiko.class atau [name=...]. Hindari penggunaan id tetap untuk mencegah konflik dari id yang duplikat saat menggunakan beberapa blok atau popup.