Jit-Browser Jit-4 platformos dalis EN-CA |

HeadlessChrome101: Kaip Jit-Browser paverčia Chrome į pilnavertį daugiafunkcį naršyklę–serverio-naršyklės sluoksnį

Tai yra paprastas paaiškinimas, ką Jit-Browser daro su headless Chrome, kaip jis naudoja patentuotą Jit-TR vykdymo aplinką ir kas dar reikalinga, kad tai taptų pirmo lygio naršyklės funkcija, o ne tik dar vienu skriptu.

Nuo paprasto ekrano nuotraukų įrankio iki Jit-Browser

Pradėjome nuo mažo komandinės eilutės įrankio: getpage https://example.com page.png. Jis paleido Chrome Docker konteineryje, padarė ekrano nuotrauką iš renderinto example.com puslapio ir užsidarė.

Naudingas koncepcijos įrodymas. Kiekvienas skambutis buvo šaltas startas. Jis nieko nežinojo apie vertimą, sesijas ar būseną. Tai buvo tiesiog headless kamera.

Jit-Browser yra kitas žingsnis. Jis vis dar naudoja tikrą Chrome, bet dabar:

  • Jis registruoja, kas vyksta puslapyje.
  • Jis įterpia Jit-TR skriptą kaip vertimo sluoksnį.
  • Jis gali sekti paprastus srautus, tokius kaip slapukų skydeliai ar išskleidžiami meniu.
  • Jis fiksuoja visiškai išverstą HTML, o ne tik ekrano nuotrauką.

Šiame puslapyje paaiškinama ta pipeline, kad galėtumėte pamatyti, jog mes nesakome tuščių žodžių. Mes parodome, kaip naršyklės lygio daugiakalbis sluoksnis gali iš tikrųjų veikti.

Jit-Browser pipeline 6 žingsniais

Aukštu lygiu kiekvienas fiksavimas vyksta ta pačia seka.

  1. Paleiskite tikrą Chrome (headless) Docker viduje.
    Mes naudojame Puppeteer (pptr.dev), kad paleistume tą patį variklį, kuris varo įprastas naršykles, bet be matomo lango. Nėra specialaus analizatoriaus, nėra netikro renderinimo.
  2. Taikykite slapukus arba prisijungimo būseną (jei sukonfigūruota).
    Demonstruojant, kuriam reikia prisijungusios sesijos, mes atkuriame jūsų slapukus. Nėra brutalaus jėgos, nėra slaptažodžių spėjimo, nėra paskyrų, kurių nekontroliuojame, rinkimo.
  3. Įkelkite tikslinį puslapį tiksliai kaip vartotojas.
    HTML, CSS, JavaScript, šriftai, vaizdai. Mes laukiame networkidle2 (https://pptr.dev/api/puppeteer.page.waitfornetworkidle), kad lėti paketai ir šriftai galėtų baigti įkrovimą.
  4. Įterpkite Jit-TR fragmentą kaip sluoksnį.
    Mes pridedame skripto žymę, nurodančią mūsų patentuoto vykdymo kodo - pavyzdžiui: