HeadlessChrome101: എങ്ങനെ Jit-Browser Chrome-നെ ഒരു പൂർണ്ണമായ മൾട്ടി-ഫംഗ്ഷൻ ബ്രൗസർ–സെർവർ-ബ്രൗസർ ലെയർ ആക്കുന്നു
ഇത് Jit-Browser ഹെഡ്ലെസ് ക്രോമുമായി എന്ത് ചെയ്യുന്നു, അത് എങ്ങനെ ഉടമസ്ഥതയിലുള്ള Jit-TR റൺടൈം ഉപയോഗിക്കുന്നു, കൂടാതെ ഇത് മറ്റൊരു സ്ക്രിപ്റ്റ് മാത്രമല്ല, മറിച്ച് ഒന്നാംനിര ബ്രൗസർ സവിശേഷതയാക്കാൻ എന്താണ് ഇപ്പോഴും ആവശ്യം എന്നതിന്റെ ലളിതമായ ഭാഷാ വിശദീകരണമാണ്.
ஒரு எளிய ஸ்கிரீன்ஷாட் கருவியிலிருந்து ஜிட்-ப்ரௌசர் வரை
நாங்கள் ஒரு சிறிய கட்டளை வரி கருவியுடன் தொடங்கினோம்: getpage https://example.com പേജ്.png. ഇത് ഡോക്കർ കണ്ടെയ്നറിൽ ക്രോം സ്പിൻ ചെയ്തു, പേജ് നിന്ന് റെൻഡർ ചെയ്ത example.com ന്റെ ഒരു സ്ക്രീൻഷോട്ട് എടുത്തു, പിന്നെ പുറത്തുകടന്നു.
ഉപയോഗപ്രദമായ ആശയത്തിന്റെ തെളിവ്. ഓരോ കോൾക്കും തണുത്ത തുടക്കമായിരുന്നു. വിവർത്തനം, സെഷനുകൾ, അല്ലെങ്കിൽ സംസ്ഥാനത്തെക്കുറിച്ച് ഒന്നും അറിയില്ലായിരുന്നു. അത് വെറും തലകെട്ടില്ലാത്ത ക്യാമറ മാത്രമായിരുന്നു.
Jit-Browser அடுத்த படியாகும். இது இன்னும் உண்மையான Chrome ஐப் பயன்படுத்துகிறது, ஆனால் இப்போது:
- ഇത് പേജിനുള്ളിൽ സംഭവിക്കുന്നതെല്ലാം രേഖപ്പെടുത്തുന്നു.
- ഇത് ജിറ്റ്-ടി.ആർ. സ്ക്രിപ്റ്റിനെ ഒരു വിവർത്തന ലെയറായി കുത്തിവെക്കുന്നു.
- ഇത് കുക്കി ബാനറുകൾ അല്ലെങ്കിൽ ഡ്രോപ്പ്ഡൗണുകൾ പോലുള്ള ലളിതമായ പ്രവാഹങ്ങളെ പിന്തുടരാൻ കഴിയും.
- ഇത് സ്ക്രീൻഷോട്ട് മാത്രമല്ല, പൂർണ്ണമായും വിവർത്തനം ചെയ്ത HTML ആണ് പിടിക്കുന്നത്.
ഈ പേജ് ആ പൈപ്പ്ലൈൻ വിശദീകരിക്കുന്നു, അതിനാൽ നിങ്ങൾക്ക് ഞങ്ങൾ കൈവശമില്ലെന്ന് കാണാൻ കഴിയും. ഒരു ബ്രൗസർ-തല ബഹുഭാഷാ ലെയർ എങ്ങനെ യഥാർത്ഥത്തിൽ പ്രവർത്തിക്കാമെന്ന് ഞങ്ങൾ കാണിക്കുന്നു.
Jit-Browser പൈപ്പ്ലൈൻ 6 ഘട്ടങ്ങളിൽ
உயர்நிலையில், ஒவ்வொரு பிடிப்பும் ஒரே வரிசையைப் பின்பற்றுகிறது.
-
Docker-ൽ യഥാർത്ഥ Chrome (തലകെട്ടില്ല) ആരംഭിക്കുക.
நாங்கள் Puppeteer (pptr.dev) ஐப் பயன்படுத்தி சாதாரண உலாவிகளை இயக்கும் அதே இயந்திரத்தை தொடங்குகிறோம், ஆனால் காட்சிப்படுத்தக்கூடிய சாளரம் இல்லாமல். தனிப்பயன் பார்சர் இல்லை, போலி ரெண்டரிங் இல்லை. -
കുക്കികൾ അല്ലെങ്കിൽ ലോഗിൻ നില പ്രയോഗിക്കുക (ക്രമീകരിച്ചിട്ടുണ്ടെങ്കിൽ).
உள்நுழைந்த அமர்வை தேவைப்படும் டெமோக்களுக்கு, உங்கள் குக்கிகளை மீண்டும் இயக்குகிறோம். எந்த ப்ரூட் ஃபோர்ஸ் இல்லை, எந்த கடவுச்சொல் ஊகிக்கவும் இல்லை, எங்கள் கட்டுப்பாட்டில் இல்லாத கணக்குகளை ஸ்கிரேப் செய்வதில்லை. -
ഉപയോക്താവിനെപ്പോലെ ലക്ഷ്യ പേജ് കൃത്യമായി ലോഡ് ചെയ്യുക.
HTML, CSS, JavaScript, ഫോണ്ടുകൾ, ചിത്രങ്ങൾ. നാം കാത്തിരിക്കുന്നുnetworkidle2(https://pptr.dev/api/puppeteer.page.waitfornetworkidle) അതിനാൽ സ്ലോ ബണ്ടിലുകളും ഫോണ്ടുകളും ലോഡ് ചെയ്യുന്നത് പൂർത്തിയാക്കാൻ കഴിയും. -
Jit-TR துண்டை ஒரு அடுக்காக ஊக்குவிக்கவும்.
ഞങ്ങൾ പാറ്റന്റ് അപേക്ഷിച്ചിരിക്കുന്ന റൺടൈം കോഡിലേക്ക് സൂചിപ്പിക്കുന്ന ഒരു സ്ക്രിപ്റ്റ് ടാഗ് ചേർക്കുന്നു – ഉദാഹരണത്തിന്:. Jit-TR ரன்டைம் தொகுதி வெளிப்படுத்தப்பட்ட DOM (document.head மற்றும் document.body) ஐ நடைபயணம் செய்து, எடுக்கப்பட்ட பயனுள்ள தகவலை எங்கள் (அல்லது ஏதேனும்) சர்வருக்கு அனுப்பி செயலாக்கி, முடிவுகளை (மொழிபெயர்ப்பு, மேம்பாடு, அல்லது புதிய தகவல்) பெறுகிறது, காட்சியளிக்கும் உரையை மறுபதிவு செய்கிறது, மற்றும் அசல் தகவலின் மேல் புதிய அர்த்தங்களைச் சேர்க்கிறது. அல்லாத கட்டுப்பாடுகள் எளிமையானவை: ஸ்கிரிப்ட்களை அதிகரிக்கலாம், ஆனால் புதிய வழிமுறைகள் தளத்தின் சொந்த ஸ்கிரிப்ட்களுடன் ஒருபோதும் மோதக்கூடாது. ഇത് സാധാരണയായി ഉപയോഗിച്ച് നടപ്പിലാക്കുന്നുமியூட்டேஷன் ஒப்சர்வர்DOM-ലുള്ള ബന്ധപ്പെട്ട മാറ്റങ്ങൾ കാണാൻ ഇൻസ്റ്റൻസുകൾ, ചെറിയ, ലക്ഷ്യമിട്ട പാച്ചുകളിലൂടെ അപ്ഡേറ്റുകൾ പ്രയോഗിക്കുക, നിലവിലുള്ള ആപ്ലിക്കേഷൻ ലജിക് അല്ലെങ്കിൽ ഇവന്റ് ഹാൻഡ്ലറുകളെ സ്പർശിക്കുന്നത് ഒഴിവാക്കുക. -
விருப்ப ஓட்டங்களை இயக்கவும்: குக்கீகள், கிளிக்குகள், மற்றும் ஸ்க்ரோல்.
உண்மையான பக்கங்கள் பெரும்பாலும் ஒரு அல்லது இரண்டு செயல்களை தேவைப்படும்: ஒரு குக்கி பேனரை மூடுவது, ஒரு மெனுவை திறப்பது, மேலும் சலுகைகளை ஏற்ற ஸ்க்ரோல் செய்வது. ஜிட்-ப்ரௌசர் ஒரு எளிய ஓட்டம் ஸ்கிரிப்டை இயக்க முடியும், எனவே அந்த கூறுகள் பிடிப்பதற்கு முன் காணக்கூடியதாக இருக்கும். -
விருத்தி செய்யப்பட்ட வெளியீட்டை பிடிக்கவும்.
நாங்கள் சேமிக்கிறோம்:- முழுமையாக மாற்றியமைக்கப்பட்ட HTML ஹோஸ்டிங் அல்லது தணிக்கைக்கு.
- ஒரு நேரமிடல் தடத்தை அடையாளம் காண்பதற்கான சாத்தியமான தடைகள்.
அதுவே எங்கள் HeadlessChrome101 இன் மையம். இது ஒரு உலாவி புதிய அல்லது உள்ளமைந்த தரவுகளை எந்த உலாவியிலும் உள்ளமைக்கப்பட்ட அடுக்கு போல நடத்தக்கூடிய மனதின் மாதிரியாகும்.
ஏன் இது வெறும் ஒரு பொம்மை ஸ்கிரிப்ட் அல்ல
Jit-Browser முக்கியமானது ஏனெனில் உலாவி மட்டத்திலான ஒரு அடுக்கு உலாவி விற்பனையாளர்கள் ஏற்கனவே தினமும் பயன்படுத்தும் அதே துண்டுகளைக் கொண்டு கட்டப்பட முடியும் என்பதை இது நிரூபிக்கிறது, மேலும் இந்த அடுக்கு எங்கள் சொந்த Jit-TR ரன்டைம் உட்பட எந்த வெளிப்புற சேவையுடனும் முழு கிளையண்ட்-சர்வர் தொடர்பை பாதுகாப்பாக நடத்த முடியும் என்பதை இது நிரூபிக்கிறது. இது எஸ்இஓ-வினை உணர்ந்த மேம்பாடுகளை நாம் சேர்க்கும் இடமாகவும் உள்ளது, உதாரணமாக rel="alternate" hreflang="..." കണ്ണികൾക്കും സമ്പുഷ്ടമാക്കിയ sitemap.xml நுழைவுகள். நடைமுறையில், இது நாங்கள் HTML பகுதிகளுக்குள் பாதிக்காத தகவல்களை வெளிப்படுத்த முடியும் என்பதைக் குறிக்கிறது அல்லது உள்ளமைவின் இடதுபுறம் அல்லது வலதுபுறத்தில் உள்ள கூறுகள், அல்லது JavaScript மாடல்களைப் பயன்படுத்தி மொழி தேர்வுகள் மற்றும் SmartSearch ஆகியவற்றை அடுக்கி, அசல் அமைப்பு அல்லது ஸ்கிரிப்ட்களுடன் இடையூறு செய்யாமல்.
-
உண்மையான Chrome இயந்திரம்.
எல்லாம் குரோமில் தானே இயங்குகிறது - வெறும் காட்சி சாளரம் இல்லாமல். உங்கள் பார்வையாளர்களுக்கு குரோமில் வேலை செய்கிறதானால், அது ஜிட்-ப்ரௌசரில் வேலை செய்கிறது. -
உள்ளடக்க பாதுகாப்பு கொள்கை பற்றிய விழிப்புணர்வு.
ಅಧಿಕাংশ ತಾಣಗಳು ಸ್ಕ್ರಿಪ್ಟ್ಗಳನ್ನು CSP ಸಹಿತ ಲಾಕ್ ಮಾಡುತ್ತವೆ. ಹೆಡ್ಲೆಸ್ ಮೋಡ್ನಲ್ಲಿ ನಾವು ಕ್ರೋಮ್ನsetBypassCSP(true)(https://pptr.dev/api/puppeteer.page.setbypasscsp) upang mag-inject ng Jit-TR sa loob ng capture environment. Hindi namin kinakailangan ang anumang production sites na pahinain ang kanilang mga security policies. -
Buong timing at pag-log.
Nagla-log kami ng mga oras ng paglulunsad, mga oras ng pag-load ng pahina, pagsisimula ng Jit-TR, mga hakbang sa daloy, at pag-capture. Makikita mo kung saan napupunta ang mga millisecond at kung ano talaga ang ginagawa ng Jit-TR sa pahina. -
Paghihiwalay ng script at layer.
Ngayon, ang Jit-TR ay maaaring "isang script lamang" na idinadagdag mo sa isang site. Sa Jit-Browser, itinuturing namin ito na parang isang matatag na layer na palaging tumatakbo. Iyon ay napakalapit sa kung paano maaaring i-plug ito ng isang vendor ng browser nang katutubong.
Ano ang nalulutas na ng Jit-TR API
Ang mahirap na bahagi ay hindi ang headless Chrome. Ang mahirap na bahagi ay ang maaasahang pag-turn ng mga live, magulong web pages sa ligtas na multilingual na mga bersyon. Ang aming proprietary runtime sa api.jit-tr.com ay ginagawa na ang trabahong iyon.
Ngayon, ang API runtime ay humahawak sa:
-
Pagpili ng wika.
Binabasa nito ang mga parameter tulad ngjittr=ES-419, iniaayos ang mga edge cases, at nagla-log ng napiling wika, halimbawa:[Jit-TR] Napiling wika → ES-419. -
DOM extraction, translation, at semantic rewrites.
Ang runtime ay naglalakad sa tunay na Chrome DOM, kumukuha lamang ng nakikitang teksto, bumubuo ng isang structured translation payload, at isinusulat ang mga resulta pabalik sa pahina. Ang lahat ng mahihirap na edge-cases ay awtomatiko: mga emoji sequence, mga HTML entity, mga patakaran sa punctuation at spacing, mga mixed-language string, at Left-to-Right / Right-to-Left switching. Isinusulat din nito muli ang mga language-specific script blocks — kabilang angat iba pang mga structured-data tag — na tinitiyak na ang bawat wika ay may tamang, independiyente, naka-cache na metadata para sa mga search engine at AI systems. -
Pag-uugali ng kliyente.
Nagre-render ito ng mga flag ng wika, iginagalang ang mga unsafe roots, at naglalaro nang ligtas hangga't maaari sa mga single-page apps at frameworks.
Ang lahat ng ito ay tumatakbo na sa mga Jit-TR sites ngayon. Ang Jit-Browser ay simpleng muling ginagamit ito sa isang kontroladong headless environment.
Ano ang kailangan pa para sa isang katutubong tampok ng browser
Ano ang kailangan pa para sa isang katutubong tampok ng browser
Upang gawing built-in na tampok ng browser ang Jit-Browser, walang nangangailangan ng himala - kailangan lamang ang kakayahang maglagay ng maliit, malinaw na hanay ng mga pagbabago na naiintindihan na ng mga engine ng browser.
Upang gawing built-in na tampok ng browser ang Jit=-Browser. Ito ay hindi isang himala, kundi isang maliit na hanay ng mga pagbabago na naiintindihan na ng mga browser.
-
Isang katutubong hook sa engine.
Ngayon ay sinisimulate namin ito sa pamamagitan ng pag-inject ng isang script mula sa headless Chrome. Ang isang tunay na integration ay magbibigay sa Jit-TR ng dedikadong translation slot upang mabasa at maisulat nito ang DOM text sa tamang punto sa rendering pipeline. -
Isang pamantayang paraan upang ipahayag ang layunin ng wika.
Ginagamit na namin ang?jittr=LANGat cookies. Ang isang solusyon sa antas ng browser ay maaaring igalang ang mga setting ng wika ng browser at mga pagpipilian ng gumagamit tulad ng "palaging isalin ang site na ito sa ES-419". -
Isang malinaw na balangkas ng kaligtasan at privacy.
Ang mga patakaran para sa kung anong teksto ang maaaring umalis sa device, gaano katagal ito maaaring i-cache, at kung paano maaaring mag-opt out ang mga site o gumagamit ay dapat na malinaw at dokumentado. Ang isang katutubong implementasyon sa loob ng browser ay maaaring talagang mas ligtas kaysa sa mga ad-hoc na script.
Halimbawa: HarmonyOS sa ES-419
Narito ang isang kongkretong halimbawa ng pipeline sa aksyon.
Tinatawag namin:
getpageJtrBrowser \
"https://www.harmonyos.com/" \
"jittr=ES-419" \
null \
"ES-419/index.php"
Jit-Browser:
- Naglulunsad ng headless Chrome sa loob ng Docker.
- Naglo-load ng
https://www.harmonyos.com/. - Nag-i-inject ng Jit-TR snippet na may ES-419 parameter.
- Hinahayaan ang Jit-TR na isalin ang nakikitang Chinese text sa Spanish (Latin America).
- Sine-save ang resulta bilang
ES-419/index.php.
Hindi kailangang magbago ang HarmonyOS site. Mula sa pananaw ng gumagamit, parang sinusuportahan lamang ng site ang kanilang wika.
Bakit umiiral ang pahinang ito
Ang HeadlessChrome101 ay isang buod na nagpapakita:
- Gumagamit kami ng mga tunay na engine ng browser at mga tunay na patakaran ng CSP.
- Mayroon na kaming gumaganang, proprietary na translation runtime.
- Ang natitirang agwat sa isang katutubong tampok ng browser ay maliit at malinaw na tinukoy.
Si vous construisez des navigateurs, des systèmes d'exploitation ou de grandes plateformes et souhaitez une couche multilingue universelle qui respecte votre modèle de sécurité, nous sommes prêts à discuter. Le code existe. Le comportement est mesurable. La prochaine étape est le partenariat.