Detta dokument har översatts av AI. För eventuella felaktigheter, se den engelska versionen
JS Block är ett mycket flexibelt "anpassat renderingsblock" som låter dig skriva JavaScript-skript direkt för att generera gränssnitt, binda händelser, anropa data-API:er eller integrera tredjepartsbibliotek. Det är idealiskt för personliga visualiseringar, tillfälliga experiment och lätta utökningar som är svåra att uppnå med inbyggda block.
JS Blockets körtidskontext har vanliga funktioner injicerade och kan användas direkt:
ctx.element: Blockets DOM-behållare (säkert inkapslad som ElementProxy), med stöd för innerHTML, querySelector, addEventListener med mera;ctx.requireAsync(url): Laddar asynkront ett AMD/UMD-bibliotek via URL;ctx.importAsync(url): Importerar dynamiskt en ESM-modul via URL;ctx.openView: Öppnar en konfigurerad vy (popup/låda/sida);ctx.useResource(...) + ctx.resource: Åtkomst till data som en resurs;ctx.i18n.t() / ctx.t(): Inbyggd internationaliseringsfunktion;ctx.onRefReady(ctx.ref, cb): Renderar när behållaren är redo för att undvika tidsproblem;ctx.libs.React / ctx.libs.ReactDOM / ctx.libs.antd / ctx.libs.antdIcons / ctx.libs.dayjs: Inbyggda generella bibliotek som React, ReactDOM, Ant Design, Ant Design-ikoner och dayjs, för JSX-rendering och tidshantering. (ctx.React / ctx.ReactDOM / ctx.antd behålls för kompatibilitet.)ctx.render(vnode): Renderar ett React-element, HTML-sträng eller DOM-nod till standardbehållaren ctx.element. Flera anrop återanvänder samma React Root och skriver över behållarens befintliga innehåll.Ni kan lägga till ett JS Block på en sida eller i en popup.

JS Blockets skriptredigerare stöder syntaxmarkering, felmeddelanden och inbyggda kodsnuttar (Snippets), vilket gör att ni snabbt kan infoga vanliga exempel, som rendering av diagram, bindning av knapphändelser, laddning av externa bibliotek, rendering av React/Vue-komponenter, tidslinjer, informationskort med mera.
Snippets: Öppnar listan över inbyggda kodsnuttar. Ni kan söka och infoga en vald snutt i kodredigeraren vid den aktuella markörpositionen med ett klick.Run: Kör koden direkt i den aktuella redigeraren och matar ut körloggarna till Logs-panelen längst ner. Den stöder visning av console.log/info/warn/error, och fel kommer att markeras med länkar till den specifika raden och kolumnen.
Dessutom kan ni direkt kalla på AI-medarbetaren "Frontend Engineer · Nathan" från redigerarens övre högra hörn. Han kan hjälpa er att skriva eller modifiera skript baserat på den aktuella kontexten. Ni kan sedan "Apply to editor" med ett klick och köra koden för att se effekten. För mer information, se:
ctx.element (ElementProxy) för skriptet, som endast påverkar det aktuella blocket och inte stör andra delar av sidan.window/`document`/`navigator` använder säkra proxyobjekt, vilket tillåter vanliga API:er samtidigt som riskfyllda beteenden begränsas.class eller [name=...]\-attributväljare. Undvik att använda fasta id:n för att förhindra konflikter från dubbla id:n när flera block eller popuper används, vilket kan leda till stil- eller händelsekonflikter.