Jit-Browser Del Jit-4 platforme EN-CA |

HeadlessChrome101: Kako Jit-Browser spremeni Chrome v popoln večfunkcijski brskalnik–strežniški brskalniški sloj

To je preprost vodnik v jeziku, ki pojasnjuje, kaj Jit-Browser počne s headless Chrome, kako uporablja lastniški Jit-TR runtime in kaj je še potrebno, da to postane funkcija prvega razreda brskalnika namesto le še enega skripta.

Od preprostega orodja za zajemanje zaslona do Jit-Browser

Začeli smo z majhnim orodjem za ukazno vrstico: getpage https://example.com page.png. Zagnal je Chrome v Docker vsebniku, zajel posnetek zaslona upodobljenega example.com iz strani in izstopil.

Koristen dokaz koncepta. Vsak klic je bil hladen zagon. Ni vedel nič o prevodu, sejah ali stanju. Bil je le headless fotoaparat.

Jit-Browser je naslednji korak. Še vedno uporablja pravi Chrome, vendar zdaj:

  • Zabeleži, kaj se dogaja znotraj strani.
  • Vstavi Jit-TR skript kot prevodni sloj.
  • Lahko sledi preprostim tokom, kot so piškotki ali spustni meniji.
  • Zajame popolnoma preveden HTML, ne le posnetek zaslona.

Ta stran pojasnjuje ta pipeline, da lahko vidite, da ne mahamo z rokami. Prikazujemo, kako lahko sloj večjezičnega brskalnika dejansko deluje.

Jit-Browser pipeline v 6 korakih

Na visoki ravni vsak zajem sledi istemu zaporedju.

  1. Zaženi pravi Chrome (headless) znotraj Dockerja.
    Uporabljamo Puppeteer (pptr.dev), da zaženemo isti motor, ki poganja običajne brskalnike, vendar brez vidnega okna. Brez prilagojenega parserja, brez lažnega upodabljanja.
  2. Uporabi piškotke ali stanje prijave (če je konfigurirano).
    Za demonstracije, ki potrebujejo prijavljeno sejo, ponovno predvajamo vaše piškotke. Brez grobe sile, brez ugibanja gesel, brez strganja računov, ki jih ne nadzorujemo.
  3. Naloži ciljno stran natančno tako, kot bi to storil uporabnik.
    HTML, CSS, JavaScript, pisave, slike. Čakamo na networkidle2 (https://pptr.dev/api/puppeteer.page.waitfornetworkidle), da se počasni paketi in pisave lahko naložijo.
  4. Vstavi Jit-TR delček kot sloj.
    Dodamo oznako skripta, ki kaže na našo patentirano kodo runtime – na primer: