यह दस्तावेज़ AI द्वारा अनुवादित किया गया है। किसी भी अशुद्धि के लिए, कृपया अंग्रेजी संस्करण देखें
JS ब्लॉक एक अत्यधिक लचीला "कस्टम रेंडरिंग ब्लॉक" है, जो आपको सीधे JavaScript स्क्रिप्ट लिखने की सुविधा देता है। इसका उपयोग इंटरफ़ेस बनाने, इवेंट्स को बाइंड करने, डेटा API को कॉल करने या थर्ड-पार्टी लाइब्रेरीज़ को इंटीग्रेट करने के लिए किया जा सकता है। यह उन परिदृश्यों के लिए उपयुक्त है जिन्हें बिल्ट-इन ब्लॉक से कवर करना मुश्किल होता है, जैसे पर्सनलाइज़्ड विज़ुअलाइज़ेशन, अस्थायी प्रयोग और हल्के एक्सटेंशन।
JS ब्लॉक के रनटाइम कॉन्टेक्स्ट में सामान्य क्षमताएँ पहले से ही मौजूद होती हैं, जिन्हें आप सीधे उपयोग कर सकते हैं:
ctx.element: ब्लॉक का DOM कंटेनर (ElementProxy के रूप में सुरक्षित रूप से रैप किया गया), जो innerHTML, querySelector, addEventListener आदि को सपोर्ट करता है।ctx.requireAsync(url): URL द्वारा AMD/UMD लाइब्रेरी को एसिंक्रोनस रूप से लोड करता है।ctx.importAsync(url): URL द्वारा ESM मॉड्यूल को डायनामिक रूप से इम्पोर्ट करता है।ctx.openView: एक कॉन्फ़िगर किए गए व्यू (पॉपअप/ड्रॉअर/पेज) को खोलता है।ctx.useResource(...) + ctx.resource: डेटा को एक रिसोर्स के रूप में एक्सेस करता है।ctx.i18n.t() / ctx.t(): बिल्ट-इन अंतर्राष्ट्रीयकरण क्षमता।ctx.onRefReady(ctx.ref, cb): कंटेनर तैयार होने के बाद रेंडर करता है ताकि टाइमिंग संबंधी समस्याओं से बचा जा सके।ctx.libs.React / ctx.libs.ReactDOM / ctx.libs.antd / ctx.libs.antdIcons / ctx.libs.dayjs: बिल्ट-इन React, ReactDOM, Ant Design, Ant Design आइकन्स और dayjs जैसी सामान्य लाइब्रेरीज़, JSX रेंडरिंग और समय प्रबंधन के लिए। (ctx.React / ctx.ReactDOM / ctx.antd को कंपैटिबिलिटी के लिए अभी भी रखा गया है।)ctx.render(vnode): React एलिमेंट, HTML स्ट्रिंग या DOM नोड को डिफ़ॉल्ट कंटेनर ctx.element में रेंडर करता है। कई बार कॉल करने पर एक ही React Root का पुन: उपयोग होगा, और कंटेनर की मौजूदा सामग्री को ओवरराइट कर दिया जाएगा।आप किसी पेज या पॉपअप में JS ब्लॉक जोड़ सकते हैं।

JS ब्लॉक का स्क्रिप्ट एडिटर सिंटैक्स हाइलाइटिंग, एरर हिंट्स और बिल्ट-इन कोड स्निपेट्स (Snippets) को सपोर्ट करता है, जो आपको सामान्य उदाहरणों को तेज़ी से इन्सर्ट करने की सुविधा देता है, जैसे चार्ट रेंडर करना, बटन इवेंट्स को बाइंड करना, बाहरी लाइब्रेरीज़ लोड करना, React/Vue कंपोनेंट्स रेंडर करना, टाइमलाइन, इन्फॉर्मेशन कार्ड आदि।
Snippets: बिल्ट-इन कोड स्निपेट्स की सूची खोलता है। आप सर्च कर सकते हैं और एक क्लिक से चुने हुए स्निपेट को कोड एडिटर में मौजूदा कर्सर की स्थिति पर इन्सर्ट कर सकते हैं।Run: मौजूदा एडिटर में कोड को सीधे चलाता है और एग्जीक्यूशन लॉग्स को नीचे Logs पैनल में आउटपुट करता है। यह console.log/info/warn/error को डिस्प्ले करने में सक्षम है, और एरर्स को हाइलाइट किया जाएगा, साथ ही उन्हें विशिष्ट पंक्ति और कॉलम पर लोकेट किया जा सकता है।
इसके अलावा, आप एडिटर के ऊपर-दाएँ कोने से सीधे AI कर्मचारी "फ्रंटएंड इंजीनियर · नाथन" को बुला सकते हैं। उन्हें मौजूदा कॉन्टेक्स्ट के आधार पर स्क्रिप्ट लिखने या संशोधित करने में आपकी मदद करने दें। फिर एक क्लिक से "Apply to editor" करके एडिटर में लागू करें और प्रभाव देखने के लिए चलाएँ। अधिक जानकारी के लिए देखें:
ctx.element (ElementProxy) प्रदान करता है, जो केवल मौजूदा ब्लॉक को प्रभावित करता है और पेज के अन्य क्षेत्रों में हस्तक्षेप नहीं करता है।window/document/navigator सुरक्षित प्रॉक्सी ऑब्जेक्ट्स का उपयोग करते हैं, जिससे सामान्य API उपलब्ध होते हैं, जबकि जोखिम भरे व्यवहार प्रतिबंधित होते हैं।class या [name=...] एट्रीब्यूट सेलेक्टर का उपयोग करें। स्थिर id का उपयोग करने से बचें, ताकि कई ब्लॉक/पॉपअप में डुप्लिकेट id के कारण स्टाइल या इवेंट संबंधी टकराव से बचा जा सके।