Esta documentación ha sido traducida automáticamente por IA.
El Bloque JS es un "bloque de renderizado personalizado" muy flexible que le permite escribir código JavaScript directamente para generar interfaces, vincular eventos, llamar a APIs de datos o integrar bibliotecas de terceros. Es ideal para visualizaciones personalizadas, experimentos temporales y escenarios de extensión ligeros que son difíciles de cubrir con los bloques predefinidos.
El contexto de ejecución del Bloque JS ya tiene inyectadas capacidades comunes que puede usar directamente:
ctx.element: El contenedor DOM del bloque (envuelto de forma segura como ElementProxy), compatible con innerHTML, querySelector, addEventListener, entre otros.ctx.requireAsync(url): Carga asincrónicamente una biblioteca AMD/UMD mediante una URL.ctx.importAsync(url): Importa dinámicamente un módulo ESM mediante una URL.ctx.openView: Abre una vista configurada (ventana emergente/cajón lateral/página).ctx.useResource(...) + ctx.resource: Accede a los datos como un recurso.ctx.i18n.t() / ctx.t(): Capacidad de internacionalización integrada.ctx.onRefReady(ctx.ref, cb): Renderiza después de que el contenedor esté listo para evitar problemas de temporización.ctx.libs.React / ctx.libs.ReactDOM / ctx.libs.antd / ctx.libs.antdIcons / ctx.libs.dayjs: Bibliotecas comunes integradas como React, ReactDOM, Ant Design, iconos de Ant Design y dayjs, utilizadas para el renderizado JSX y el manejo de fechas y horas. (ctx.React / ctx.ReactDOM / ctx.antd se mantienen por compatibilidad.)ctx.render(vnode): Renderiza un elemento React, una cadena HTML o un nodo DOM en el contenedor predeterminado ctx.element. Múltiples llamadas reutilizarán el mismo React Root y sobrescribirán el contenido existente del contenedor.Puede añadir un Bloque JS a una página o a una ventana emergente.

El editor de scripts del Bloque JS es compatible con el resaltado de sintaxis, las sugerencias de errores y los fragmentos de código (Snippets) integrados. Esto le permite insertar rápidamente ejemplos comunes como renderizar gráficos, vincular eventos de botones, cargar bibliotecas externas, renderizar componentes de React/Vue, líneas de tiempo, tarjetas de información, etc.
Snippets: Abre la lista de fragmentos de código integrados. Puede buscar e insertar un fragmento seleccionado en la posición actual del cursor en el editor de código con un solo clic.Run: Ejecuta directamente el código en el editor actual y muestra los registros de ejecución en el panel Logs inferior. Es compatible con la visualización de console.log/info/warn/error, y los errores se resaltarán y podrán localizarse en la fila y columna específicas.
Además, desde la esquina superior derecha del editor, puede invocar directamente al empleado de IA "Ingeniero Frontend · Nathan". Él le ayudará a escribir o modificar scripts basándose en el contexto actual. Luego, puede hacer clic en "Apply to editor" para aplicar los cambios al editor y ejecutar el código para ver el resultado. Para más detalles, consulte:
ctx.element (ElementProxy) para el script, que solo afecta al bloque actual y no interfiere con otras áreas de la página.window/document/navigator utilizan objetos proxy seguros, lo que permite el uso de APIs comunes mientras restringe comportamientos de riesgo.class o [name=...]. Evite usar ids fijos para prevenir conflictos de ids duplicados cuando utilice múltiples bloques o ventanas emergentes, lo que podría causar problemas de estilo o eventos.