जिट-ब्राउज़र जिट-4 प्लेटफ़ॉर्म का हिस्सा EN-CA |

हेडलैसक्रोम101: कैसे जिट-ब्राउज़र क्रोम को एक पूर्ण मल्टी-फंक्शन ब्राउज़र–सर्वर-ब्राउज़र लेयर में बदलता है

यह एक साधारण भाषा में वॉकथ्रू है कि जिट-ब्राउज़र हेडलेस क्रोम के साथ क्या करता है, यह कैसे स्वामित्व वाले जिट-टीआर रनटाइम का उपयोग करता है, और इसे सिर्फ एक और स्क्रिप्ट के बजाय एक प्रथम श्रेणी का ब्राउज़र फीचर बनाने के लिए अभी भी क्या आवश्यक है।

एक साधारण स्क्रीनशॉट टूल से जिट-ब्राउज़र तक

हमने एक छोटे कमांड-लाइन टूल से शुरुआत की: getpage https://example.com page.png. इसने एक डॉकर कंटेनर में क्रोम को स्पिन किया, पेज से रेंडर किए गए example.com का स्क्रीनशॉट लिया, और बाहर निकल गया।

उपयोगी अवधारणा का प्रमाण। हर कॉल एक कोल्ड स्टार्ट था। इसे अनुवाद, सत्र, या स्थिति के बारे में कुछ नहीं पता था। यह सिर्फ एक हेडलेस कैमरा था।

जिट-ब्राउज़र अगला कदम है। यह अभी भी असली क्रोम का उपयोग करता है, लेकिन अब:

  • यह पेज के अंदर क्या होता है, उसे लॉग करता है।
  • यह जिट-टीआर स्क्रिप्ट को एक अनुवाद लेयर के रूप में इंजेक्ट करता है।
  • यह कुकी बैनर या ड्रॉपडाउन जैसे सरल फ्लो का पालन कर सकता है।
  • यह पूरी तरह से अनुवादित HTML को कैप्चर करता है, सिर्फ एक स्क्रीनशॉट नहीं।

यह पेज उस पाइपलाइन की व्याख्या करता है ताकि आप देख सकें कि हम हाथ नहीं हिला रहे हैं। हम दिखा रहे हैं कि एक ब्राउज़र-स्तरीय बहुभाषी लेयर वास्तव में कैसे काम कर सकती है।

जिट-ब्राउज़र पाइपलाइन 6 चरणों में

उच्च स्तर पर, हर कैप्चर एक ही अनुक्रम का पालन करता है।

  1. डॉकर के अंदर असली क्रोम (हेडलैस) लॉन्च करें।
    हम पपेटियर (pptr.dev) का उपयोग करते हैं ताकि उसी इंजन को शुरू किया जा सके जो सामान्य ब्राउज़रों को शक्ति देता है, लेकिन बिना किसी दृश्य विंडो के। कोई कस्टम पार्सर नहीं, कोई नकली रेंडरिंग नहीं।
  2. कुकीज़ या लॉगिन स्थिति लागू करें (यदि कॉन्फ़िगर किया गया हो)।
    उन डेमो के लिए जिन्हें लॉग-इन सत्र की आवश्यकता होती है, हम आपकी कुकीज़ को फिर से चलाते हैं। कोई बलपूर्वक प्रयास नहीं, कोई पासवर्ड अनुमान नहीं, कोई खाता स्क्रैपिंग नहीं जिसे हम नियंत्रित नहीं करते।
  3. लक्ष्य पेज को बिल्कुल एक उपयोगकर्ता की तरह लोड करें।
    HTML, CSS, जावास्क्रिप्ट, फोंट, छवियाँ। हम प्रतीक्षा करते हैं networkidle2 (https://pptr.dev/api/puppeteer.page.waitfornetworkidle) ताकि धीमे बंडल और फोंट लोडिंग समाप्त कर सकें।
  4. जिट-टीआर स्निपेट को एक लेयर के रूप में इंजेक्ट करें।
    हम अपने पेटेंट-लंबित रनटाइम कोड की ओर इशारा करते हुए एक स्क्रिप्ट टैग जोड़ते हैं – उदाहरण के लिए: