Esta documentação foi traduzida automaticamente por IA.
O Bloco JS é um "bloco de renderização personalizado" altamente flexível que permite escrever scripts JavaScript diretamente para gerar interfaces, vincular eventos, chamar APIs de dados ou integrar bibliotecas de terceiros. Ele é ideal para visualizações personalizadas, experimentos temporários e cenários de extensão leves que são difíceis de cobrir com os blocos integrados.
O contexto de execução do Bloco JS já vem com capacidades comuns injetadas e pode ser usado diretamente:
ctx.element: O contêiner DOM do bloco (envolto de forma segura como ElementProxy), suportando innerHTML, querySelector, addEventListener, etc.ctx.requireAsync(url): Carrega assincronamente uma biblioteca AMD/UMD por URL.ctx.importAsync(url): Importa dinamicamente um módulo ESM por URL.ctx.openView: Abre uma visualização configurada (popup/gaveta/página).ctx.useResource(...) + ctx.resource: Acessa dados como um recurso.ctx.i18n.t() / ctx.t(): Capacidade de internacionalização integrada.ctx.onRefReady(ctx.ref, cb): Renderiza depois que o contêiner estiver pronto para evitar problemas de temporização.ctx.libs.React / ctx.libs.ReactDOM / ctx.libs.antd / ctx.libs.antdIcons / ctx.libs.dayjs: Bibliotecas de uso geral integradas como React, ReactDOM, Ant Design, ícones do Ant Design e dayjs, para renderização JSX e manipulação de tempo. (ctx.React / ctx.ReactDOM / ctx.antd são mantidas para compatibilidade.)ctx.render(vnode): Renderiza um elemento React, string HTML ou nó DOM para o contêiner padrão ctx.element. Múltiplas chamadas reutilizarão o mesmo React Root e sobrescreverão o conteúdo existente do contêiner.Você pode adicionar um Bloco JS a uma página ou a um popup.

O editor de script do Bloco JS suporta realce de sintaxe, dicas de erro e snippets de código integrados (Snippets), permitindo que você insira rapidamente exemplos comuns como: renderizar gráficos, vincular eventos de botão, carregar bibliotecas externas, renderizar componentes React/Vue, linhas do tempo, cartões de informação, etc.
Snippets: Abre a lista de snippets de código integrados. Você pode pesquisar e inserir um snippet selecionado no editor de código, na posição atual do cursor, com um clique.Run: Executa diretamente o código no editor atual e exibe os logs de execução no painel Logs na parte inferior. Ele suporta a exibição de console.log/info/warn/error, e os erros serão destacados com links para a linha e coluna específicas.
Além disso, você pode chamar diretamente o funcionário de IA "Engenheiro Frontend · Nathan" no canto superior direito do editor. Ele pode ajudar você a escrever ou modificar scripts com base no contexto atual. Você pode então "Aplicar ao editor" com um clique e executar o código para ver o efeito. Para mais detalhes, consulte:
ctx.element (ElementProxy) para o script, que afeta apenas o bloco atual e não interfere com outras áreas da página.window/document/navigator usam objetos proxy seguros, permitindo APIs comuns enquanto restringe comportamentos de risco.class ou [name=...]. Evite usar ids fixos para prevenir conflitos de estilo ou evento causados por ids duplicados ao usar múltiplos blocos ou popups.