HeadlessChrome101: Kā Jit-Browser pārvērš Chrome par pilnvērtīgu daudzfunkcionālu pārlūkprogrammu–servera-pārlūkprogrammas slāni
Šis ir vienkāršs izskaidrojums par to, ko Jit-Browser dara ar headless Chrome, kā tas izmanto patentēto Jit-TR izpildlaiku un kas vēl ir nepieciešams, lai padarītu to par pirmās klases pārlūkprogrammas funkciju, nevis tikai vēl vienu skriptu.
No vienkārša ekrānuzņēmumu rīka līdz Jit-Browser
Mēs sākām ar mazu komandrindas rīku: getpage https://example.com page.png. Tas palaida Chrome Docker konteinerā, uzņēma ekrānuzņēmumu no renderētā example.com no lapas un izbeidza darbību.
Noderīgs pierādījums koncepcijai. Katrs izsaukums bija auksts starts. Tas neko nezināja par tulkošanu, sesijām vai stāvokli. Tas bija tikai headless kamera.
Jit-Browser ir nākamais solis. Tas joprojām izmanto reālu Chrome, bet tagad:
- Tas reģistrē, kas notiek lapā.
- Tas injicē Jit-TR skriptu kā tulkošanas slāni.
- Tas var sekot vienkāršiem plūsmām, piemēram, sīkdatņu baneriem vai nolaižamajiem sarakstiem.
- Tas sag captura pilnībā tulkoto HTML, nevis tikai ekrānuzņēmumu.
Šī lapa izskaidro šo procesu, lai jūs varētu redzēt, ka mēs nerunājam tukšumā. Mēs parādām, kā pārlūkprogrammas līmeņa daudzvalodu slānis var patiešām darboties.
Jit-Browser process 6 soļos
Augstā līmenī katrs ieraksts seko tai pašai secībai.
-
Palaidiet reālu Chrome (headless) iekš Docker.
Mēs izmantojam Puppeteer (pptr.dev), lai sāktu to pašu dzinēju, kas nodrošina parastās pārlūkprogrammas, bet bez redzama loga. Nav pielāgota parsēšana, nav viltus renderēšanas. -
Pielietojiet sīkdatnes vai pieteikšanās stāvokli (ja konfigurēts).
Demonstrācijām, kurām nepieciešama pieteikšanās sesija, mēs atkārtojam jūsu sīkdatnes. Nav brutālas spēka, nav paroles minēšanas, nav kontu skrāpēšanas, kurus mēs nekontrolējam. -
Ielādējiet mērķa lapu tieši tāpat kā lietotājs.
HTML, CSS, JavaScript, fonti, attēli. Mēs gaidāmnetworkidle2(https://pptr.dev/api/puppeteer.page.waitfornetworkidle), lai lēni pakotnes un fonti varētu pabeigt ielādi. -
Injicējiet Jit-TR fragmentu kā slāni.
Mēs pievienojam skriptu tagu, kas norāda uz mūsu patentēto izpildlaika kodu – piemēram:. Jit-TR izpildlaika modulis pārvietojas pa atklāto DOM (document.head un document.body), nosūta iegūto datu kopumu atpakaļ mūsu (vai jebkura) serverim apstrādei, saņem rezultātus (tulkojums, uzlabojums vai jauna informācija), pārraksta redzamo tekstu un pievieno jaunus nozīmes slāņus virs oriģinālā. Vienīgās pastāvošās ierobežojumi ir vienkārši: skriptus var paplašināt, bet jauni norādījumi nekad nevar traucēt vietnes pašas skriptiem. Tas parasti tiek īstenots, izmantojotMutationObserverinstancēm, lai uzraudzītu attiecīgas izmaiņas DOM, piemērotu atjauninājumus mazos, mērķtiecīgos ielāpus un izvairītos no jebkādas esošās lietojumprogrammas loģikas vai notikumu apstrādātājiem. -
Izpildiet opcijas plūsmas: sīkdatnes, klikšķi un ritināšanu.
Reālām lapām bieži nepieciešama viena vai divas darbības: sīkdatņu banera aizvēršana, izvēlnes atvēršana, ritināšana, lai ielādētu vairāk piedāvājumu. Jit-Browser var izpildīt vienkāršu plūsmas skriptu, lai šie elementi būtu redzami pirms ieraksta. -
Ierakstiet paplašināto izvadi.
Mēs saglabājam:- Pilnībā modificēto HTML mitināšanai vai audita veikšanai.
- Laika izsekošana, lai identificētu potenciālos šaurumus.
Tas ir mūsu HeadlessChrome101 kodols. Tas ir mentālais modelis, kā pārlūkprogramma varētu izturēties pret jauniem vai esošiem datiem kā iebūvētu slāni jebkurā pārlūkprogrammā.
Kāpēc tas nav tikai rotaļlietu skripts
Jit-Browser ir svarīgs, jo tas pierāda, ka pārlūkprogrammas līmeņa slāni var izveidot ar tiem pašiem elementiem, ko pārlūkprogrammu piegādātāji jau izmanto katru dienu, un ka šis slānis var droši mitināt pilnu klienta-servera mijiedarbību ar jebkuru ārēju pakalpojumu, tostarp mūsu pašu Jit-TR izpildlaiku. Tas ir arī punkts, kur mēs pievienojam SEO apzinātus uzlabojumus, piemēram, rel="alternate" hreflang="..." saites un bagātinātas sitemap.xml ierakstus. Praksē tas nozīmē, ka mēs varam atklāt paplašinātu informāciju iekš neiznīcinošiem HTML reģioniem, piemēram, elementiem lapas kreisajā vai labajā pusē vai izmantojot JavaScript modālus, kas pievieno valodas izvēles un SmartSearch, neiejaucoties oriģinālajā izkārtojumā vai skriptos.
-
Reāls Chrome dzinējs.
Viss darbojas uz paša Chrome - tikai bez redzamā loga. Ja tas darbojas Chrome jūsu apmeklētājiem, tas darbojas arī Jit-Browser. -
Satura drošības politika apzināta.
Lielākā daļa vietņu ierobežo skriptus ar CSP. Headless režīmā mēs varam izmantot ChromesetBypassCSP(true)(https://pptr.dev/api/puppeteer.page.setbypasscsp) lai injicētu Jit-TR iekšā uztveršanas vidē. Mums nav nepieciešams, lai ražošanas vietnes vājinātu savas drošības politikas. -
Pilna laika un žurnāla uzskaite.
Mēs reģistrējam palaišanas laikus, lapas ielādes laikus, Jit-TR palaišanu, plūsmas soļus un uztveršanu. Jūs varat redzēt, kur aiziet milisekundes un ko Jit-TR patiesībā dara lapā. -
Skriptu un slāņu atdalīšana.
Šodien Jit-TR var būt "vienkārši skripts", ko pievienojat vietnei. Jit-Browser mēs to uzskatām par stabilu slāni, kas vienmēr darbojas. Tas ir ļoti tuvu tam, kā pārlūkprogrammu piegādātājs varētu to iebūvēt dabiski.
Ko Jit-TR API jau risina
Grūtā daļa nav bezgalīgais Chrome. Grūtā daļa ir uzticami pārvērst dzīvas, nekārtīgas tīmekļa lapas drošās daudzvalodu versijās. Mūsu patentētais izpildlaiks api.jit-tr.com jau veic šo darbu.
Šodien API izpildlaiks apstrādā:
-
Valodas izvēle.
Tas lasa parametrus, piemēram,jittr=ES-419, normalizē robežgadījumus un reģistrē izvēlēto valodu, piemēram:[Jit-TR] Izvēlētā valoda → ES-419. -
DOM izvilkšana, tulkošana un semantiskās pārrakstīšanas.
Izpildlaiks pārvietojas pa reālo Chrome DOM, izvelk tikai redzamo tekstu, veido strukturētu tulkošanas slodzi un ieraksta rezultātus atpakaļ lapā. Visi grūtie robežgadījumi tiek automātiski apstrādāti: emocijzīmes secības, HTML entītijas, pieturzīmes un atstarpe, jauktas valodas virknes un kreisās uz labās / labās uz kreisās maiņas. Tas arī pārraksta valodas specifiskos skriptu blokos — tostarpun citus strukturētos datu tagus — nodrošinot, ka katrai valodai ir pareiza, neatkarīga, kešatmiņā saglabāta metadatu informācija meklētājprogrammām un AI sistēmām. -
Klienta uzvedība.
Tas attēlo valodas karogus, respektē nedrošos saknes un darbojas pēc iespējas drošāk ar vienas lapas lietotnēm un ietvariem.
Viss šis jau darbojas Jit-TR vietnēs šodien. Jit-Browser vienkārši atkārtoti izmanto to kontrolētā bezgalīgā vidē.
Kas vēl nepieciešams, lai būtu iebūvēta pārlūkprogrammas funkcija
Kas vēl nepieciešams, lai būtu iebūvēta pārlūkprogrammas funkcija
Lai pārvērstu Jit-Browser par iebūvētu pārlūkprogrammas funkciju, nevienam nav nepieciešams brīnums - tikai spēja veikt nelielu, labi definētu izmaiņu kopumu, ko pārlūkprogrammu dzinēji jau saprot.
Lai pārvērstu Jit-Browser par iebūvētu pārlūkprogrammas funkciju. Tas nav brīnums, tikai neliels izmaiņu kopums, ko pārlūkprogrammas jau saprot.
-
Dabisks āķis dzinējā.
Šodien mēs to simulējam, injicējot skriptu no bezgalīgā Chrome. Reāla integrācija dotu Jit-TR veltītu tulkošanas vietu, lai tas varētu lasīt un rakstīt DOM tekstu pareizajā punktā renderēšanas cauruļvadā. -
Standarta veids, kā izteikt valodas nodomu.
Mēs jau izmantojam?jittr=LANGun sīkdatnes. Pārlūkprogrammas līmeņa risinājums varētu respektēt pārlūkprogrammas valodas iestatījumus un lietotāju izvēles, piemēram, "vienmēr tulkot šo vietni uz ES-419". -
Skaidra drošības un privātuma struktūra.
Noteikumi par to, kāds teksts var atstāt ierīci, cik ilgi to var kešatmiņā saglabāt un kā vietnes vai lietotāji var atteikties, būtu skaidri un dokumentēti. Dabiska īstenošana pārlūkprogrammā var būt pat drošāka nekā ad-hoc skripti.
Piemērs: HarmonyOS uz ES-419
Šeit ir konkrēts piemērs par cauruļvadu darbību.
Mēs saucam:
getpageJtrBrowser \
"https://www.harmonyos.com/" \
"jittr=ES-419" \
null \
"ES-419/index.php"
Jit-Browser:
- Palaiž bezgalīgo Chrome iekšā Docker.
- Ielādē
https://www.harmonyos.com/. - Injicē Jit-TR fragmentu ar ES-419 parametru.
- Ļauj Jit-TR tulkot redzamo ķīniešu tekstu spāņu (Latīņamerikā).
- Saglabā rezultātu kā
ES-419/index.php.
HarmonyOS vietnei nav jāmainās. No lietotāja perspektīvas izskatās, ka vietne vienkārši atbalsta viņu valodu.
Kāpēc šī lapa pastāv
HeadlessChrome101 ir kopsavilkums, kas parāda:
- Mēs izmantojam reālus pārlūkprogrammu dzinējus un reālus CSP noteikumus.
- Mums jau ir strādājošs, patentēts tulkošanas izpildlaiks.
- Atlikusī atstarpe līdz iebūvētai pārlūkprogrammas funkcijai ir maza un labi definēta.
Ja jūs veidojat pārlūkprogrammas, operētājsistēmas vai lielas platformas un vēlaties universālu daudzvalodu slāni, kas respektē jūsu drošības modeli, mēs esam gatavi runāt. Kods pastāv. Uzvedība ir izmērāma. Nākamais solis ir partnerība.