Jit-Browser Sebahagian daripada platform Jit-4 EN-CA |

HeadlessChrome101: Bagaimana Jit-Browser Mengubah Chrome Menjadi Pelayar Pelbagai Fungsi – Lapisan Pelayan-Pelayar

Ini adalah panduan dalam bahasa biasa tentang apa yang dilakukan Jit-Browser dengan Chrome tanpa kepala, bagaimana ia menggunakan runtime Jit-TR yang proprietari, dan apa yang masih diperlukan untuk menjadikan ini sebagai ciri pelayar kelas pertama dan bukannya hanya skrip lain.

Dari alat tangkapan skrin yang sederhana kepada Jit-Browser

Kami bermula dengan alat baris perintah kecil: getpage https://example.com page.png. Ia menghidupkan Chrome dalam kontena Docker, mengambil tangkapan skrin dari example.com yang dirender dari halaman, dan keluar.

Bukti konsep yang berguna. Setiap panggilan adalah permulaan sejuk. Ia tidak tahu apa-apa tentang terjemahan, sesi, atau keadaan. Ia hanyalah kamera tanpa kepala.

Jit-Browser adalah langkah seterusnya. Ia masih menggunakan Chrome sebenar, tetapi sekarang:

  • Ia mencatat apa yang berlaku di dalam halaman.
  • Ia menyuntik skrip Jit-TR sebagai lapisan terjemahan.
  • Ia boleh mengikuti aliran sederhana seperti banner kuki atau dropdown.
  • Ia menangkap HTML yang telah diterjemahkan sepenuhnya, bukan hanya tangkapan skrin.

Halaman ini menerangkan saluran itu supaya anda dapat melihat bahawa kami tidak hanya bercakap kosong. Kami menunjukkan bagaimana lapisan pelbagai bahasa di peringkat pelayar sebenarnya boleh berfungsi.

Saluran Jit-Browser dalam 6 langkah

Pada tahap tinggi, setiap tangkapan mengikuti urutan yang sama.

  1. Lancarkan Chrome sebenar (tanpa kepala) di dalam Docker.
    Kami menggunakan Puppeteer (pptr.dev) untuk memulakan enjin yang sama yang menggerakkan pelayar biasa, tetapi tanpa tingkap yang kelihatan. Tiada pengurai khusus, tiada rendering palsu.
  2. Terapkan kuki atau keadaan log masuk (jika dikonfigurasikan).
    Untuk demo yang memerlukan sesi log masuk, kami memainkan semula kuki anda. Tiada kekuatan kasar, tiada tekaan kata laluan, tiada pengikisan akaun yang tidak kami kawal.
  3. Muatkan halaman sasaran tepat seperti pengguna.
    HTML, CSS, JavaScript, fon, imej. Kami menunggu networkidle2 (https://pptr.dev/api/puppeteer.page.waitfornetworkidle) supaya bundel dan fon yang lambat dapat selesai dimuat.
  4. Suntikkan potongan Jit-TR sebagai lapisan.
    Kami menambah tag skrip yang menunjuk kepada kod runtime kami yang sedang dipatenkan – sebagai contoh: