HeadlessChrome101: Kuidas Jit-Browser muudab Chrome'i täisfunktsionaalseks brauseriks–server-brauseri kihiks
See on lihtsas keeles juhend, mis selgitab, mida Jit-Browser teeb peidetud Chrome'iga, kuidas see kasutab patenteeritud Jit-TR käitusaega ja mida on veel vaja, et see oleks esmaklassiline brauseri funktsioon, mitte lihtsalt veel üks skript.
Lihtsast ekraanipildi tööriistast Jit-Browserini
Alustasime väikese käsurea tööriistaga: getpage https://example.com page.png. See käivitas Chrome'i Docker konteineris, tegi ekraanipildi renderdatud example.com lehelt ja väljus.
Kasulik tõestus kontseptsioonist. Iga kõne oli külm käivitamine. See ei teadnud midagi tõlkimisest, sessioonidest ega olekust. See oli lihtsalt peidetud kaamera.
Jit-Browser on järgmine samm. See kasutab endiselt tõelist Chrome'i, kuid nüüd:
- See logib, mis lehe sees juhtub.
- See süstib Jit-TR skripti tõlke kihina.
- See suudab järgida lihtsaid vooge, nagu küpsiste bännerid või rippmenüüd.
- See salvestab täielikult tõlgitud HTML-i, mitte lihtsalt ekraanipilti.
See leht selgitab seda toru, et saaksite näha, et me ei räägi lihtsalt juttu. Me näitame, kuidas brauseri taseme mitmekeelsuskiht tegelikult töötab.
Jit-Browseri toru 6 sammus
Üldiselt järgneb iga salvestamine samale järjestusele.
-
Käivita tõeline Chrome (peidetud) Dockeris.
Kasutame Puppeteer'i (pptr.dev), et käivitada sama mootor, mis toidab tavalisi brausereid, kuid ilma nähtava aknata. Ei mingit kohandatud parsi, ei vale renderdamist. -
Kohaldage küpsiseid või sisselogimise olekut (kui on seadistatud).
Demonstreerimiseks, mis vajab sisselogitud sessiooni, kordame teie küpsiseid. Ei mingit jõhkrat jõhkrust, ei paroolide arvamist, ei kontode kraapimist, mida me ei kontrolli. -
Laadige sihtleht täpselt nagu kasutaja.
HTML, CSS, JavaScript, fondid, pildid. Me ootamenetworkidle2(https://pptr.dev/api/puppeteer.page.waitfornetworkidle), et aeglased paketid ja fondid saaksid laadimise lõpetada. -
Süstige Jit-TR koodijupp kihina.
Lisame skripti sildi, mis osutab meie patenditaotlusele käituskoodile – näiteks:. Jit-TR käituselement kõnnib avatud DOM-i (document.head ja document.body), saadab ekstraheeritud koormuse tagasi meie (või mis tahes) serverisse töötlemiseks, saab tulemused (tõlge, täiustamine või uus teave), kirjutab nähtava teksti ümber ja lisab originaali peale uusi tähenduse kihte. Ainsad olemasolevad piirangud on lihtsad: skripte saab täiustada, kuid uued juhised ei tohi kunagi segada saidi enda skripte. See rakendatakse tavaliselt, kasutadesMutationObserverinstantsse, et jälgida asjakohaseid muudatusi DOM-is, rakendada uuendusi väikestes, sihitud plaastrites ja vältida olemasoleva rakenduse loogika või sündmuste käitlejate puudutamist. -
Käivita valikulised vood: küpsised, klõpsud ja kerimine.
Tõelised lehed vajavad sageli ühte või kahte toimingut: küpsiste bänneri sulgemine, menüü avamine, kerimine, et laadida rohkem pakkumisi. Jit-Browser suudab käivitada lihtsa vooskripti, et need elemendid oleksid nähtavad enne salvestamist. -
Salvestage täiustatud väljund.
Salvestame:- Täielikult muudetud HTML hostimiseks või auditeerimiseks.
- Ajajälg, et tuvastada võimalikke kitsaskohti.
See on meie HeadlessChrome101 tuum. See on vaimne mudel, kuidas brauser võiks uut või olemasolevat teavet käsitleda sisseehitatud kihina igas brauseris.
Miks see ei ole lihtsalt mänguskript
Jit-Browser on oluline, sest see tõestab, et brauseri taseme kiht saab ehitada samade elementidega, mida brauserite tootjad igapäevaselt kasutavad, ja et see kiht suudab ohutult majutada täis kliendi-serveri interaktsiooni mis tahes väliste teenustega, sealhulgas meie enda Jit-TR käitusega. See on ka koht, kus lisame SEO-teadlikke täiustusi, nagu rel="alternate" hreflang="..." lingid ja rikastatud sitemap.xml kirjed. Praktikas tähendab see, et saame avada täiustatud teavet mittehäirivates HTML-i piirkondades, nagu elemendid olemasoleva lehe vasakul või paremal küljel, või kasutades JavaScripti modaalaknaid, mis lisavad keelevalikuid ja SmartSearch'i, ilma et see segaks originaalset paigutust või skripte.
-
Tõeline Chrome'i mootor.
Kõik töötab Chrome'is endas - lihtsalt ilma nähtava aknata. Kui see töötab Chrome'is teie külastajate jaoks, töötab see Jit-Browseris. -
Sisu turvapoliitika teadlik.
Enamik saite lukustab skripte CSP-ga. Peidetud režiimis saame kasutada Chrome'isetBypassCSP(true)(https://pptr.dev/api/puppeteer.page.setbypasscsp) Jit-TR süstimise jaoks salvestuskeskkonda. Me ei nõua, et tootmislehed nõrgestaksid oma turvapoliitikaid. -
Täielik ajastus ja logimine.
Me logime käivitamise aegu, lehe laadimise aegu, Jit-TR käivitamist, voosamme ja salvestamist. Saate näha, kuhu millisekundid lähevad ja mida Jit-TR lehe peal tegelikult teeb. -
Skripti ja kihi eraldamine.
Täna võib Jit-TR olla "lihtsalt skript", mille lisate lehele. Jit-Browseris käsitleme seda stabiilse kihina, mis töötab alati. See on väga lähedal sellele, kuidas brauseri tootja saaks selle natiivselt sisse lülitada.
Mida Jit-TR API juba lahendab
Raske osa ei ole peata Chrome. Raske osa on usaldusväärselt muuta elavaid, segaseid veebilehti ohutuks mitmekeelseks versiooniks. Meie patenteeritud käitusaeg api.jit-tr.com teeb juba seda tööd.
Täna tegeleb API käitusaeg:
-
Keele valik.
See loeb parameetreid nagujittr=ES-419, normaliseerib äärmuslikke juhtumeid ja logib valitud keele, näiteks:[Jit-TR] Valitud keel → ES-419. -
DOM-i ekstraktsioon, tõlkimine ja semantilised ümberkirjutamised.
Käitusaeg kõnnib tõelise Chrome DOM-i, ekstraktsioon ainult nähtavast tekstist, koostab struktureeritud tõlke koormuse ja kirjutab tulemused tagasi lehele. Kõik keerulised äärmuslikud juhtumid on automaatsed: emojiseeriad, HTML-i entiteedid, kirjavahemärgid ja vahemaa reeglid, segakeelsed stringid ja vasakult paremale / paremalt vasakule vahetamine. See kirjutab ka ümber keelepõhised skripti plokid — sealhulgasja teised struktureeritud andmete sildid — tagades, et igal keelel on õige, sõltumatu, vahemällu salvestatud metaandmed otsingumootorite ja AI süsteemide jaoks. -
Kliendi käitumine.
See renderdab keele lipud, austab ebaturvalisi juuri ja mängib nii ohutult kui võimalik ühe lehe rakenduste ja raamistikudega.
Kõik see töötab juba täna Jit-TR lehtedel. Jit-Browser lihtsalt kasutab seda kontrollitud peata keskkonnas.
Mida on veel vaja natiivse brauseri funktsiooni jaoks
Mida on veel vaja natiivse brauseri funktsiooni jaoks
Kuna Jit-Browserit natiivseks brauseri funktsiooniks muuta, ei vaja keegi imet - lihtsalt võimet paigutada väike, hästi määratletud muudatuste kogum, mida brauseri mootorid juba mõistavad.
Kuna Jit-Browserit natiivseks brauseri funktsiooniks muuta. See ei ole ime, vaid väike muudatuste kogum, mida brauserid juba mõistavad.
-
Natiivne konks mootoris.
Täna simuleerime seda, süstides skripti peata Chrome'ist. Tõeline integreerimine annaks Jit-TR-le pühendatud tõlke koha, et see saaks lugeda ja kirjutada DOM-i teksti õiges kohas renderdamise torus. -
Standardsed viisid keele kavatsuse väljendamiseks.
Kasutame juba?jittr=LANGja küpsiseid. Brauseri tasandi lahendus võiks austada brauseri keele seadeid ja kasutaja valikuid nagu "tõlgi see leht alati ES-419". -
Selge ohutuse ja privaatsuse raamistik.
Reeglid selle kohta, milline tekst võib seadmest lahkuda, kui kaua seda saab vahemällu salvestada ja kuidas saidid või kasutajad saavad loobuda, peaksid olema selged ja dokumenteeritud. Natiivne rakendus brauseris võib olla tegelikult ohutum kui ad-hoc skriptid.
Näide: HarmonyOS ES-419-s
Siin on konkreetne näide torustikust tegevuses.
Kutsume:
getpageJtrBrowser \
"https://www.harmonyos.com/" \
"jittr=ES-419" \
null \
"ES-419/index.php"
Jit-Browser:
- Käivitab peata Chrome'i Dockeris.
- Laeb
https://www.harmonyos.com/. - Süstib Jit-TR koodi ES-419 parameetriga.
- Las Jit-TR tõlgib nähtava hiina teksti hispaania keelde (Lõuna-Ameerika).
- Salvestab tulemuse kui
ES-419/index.php.
HarmonyOS leht ei pea muutuma. Kasutaja vaatenurgast näeb see välja nagu leht toetab lihtsalt nende keelt.
Miks see leht eksisteerib
HeadlessChrome101 on kokkuvõte, mis näitab:
- Kasutame tõelisi brauseri mootoreid ja tõelisi CSP reegleid.
- Meil on juba töötav, patenteeritud tõlke käitusaeg.
- Jäänud vahe natiivse brauseri funktsiooni jaoks on väike ja hästi määratletud.
Kui te ehitate brausereid, operatsioonisüsteeme või suuri platvorme ja soovite universaalset mitmekeelsust, mis austab teie turvamudelit, oleme valmis rääkima. Kood eksisteerib. Käitumine on mõõdetav. Järgmine samm on partnerlus.