Jinsi MousePlayer inavyofanya kazi

Mwongozo rahisi wa usanifu wetu wa ufuatiliaji, kushughulikia vipimo vya skrini katika vifaa tofauti na mipaka ya mfumo.

1. Kwa nini hatutumii kurekodi video

Dhana isiyo sahihi iliyoenea ni kwamba zana za uchanganuzi wa kuona hurekodi faili za kawaida za video (kama MP4 au WebM) za skrini ya mtembeleaji. Hilo lingetumia kipimo data kikubwa sana, kupunguza sana kasi ya tovuti yako na kuunda maandishi yenye ukungu yasiyosomeka.

Badala yake, MousePlayer hutumia teknolojia nyepesi inayoitwa Telemetria ya Picha ya DOM. Hivi ndivyo inavyofanya kazi katika msingi wake:

Picha ya muundo

Mtembeleaji anapofungua ukurasa wako, hati yetu ya programu huchukua “ramani ya muundo” ya maandishi ya HTML na mpangilio wako wa mitindo. Hurekodi mahali vipengele vilipo bila kunakili faili za picha au video za ukurasa wako; kichezaji hupakia picha kutoka anwani zao asilia wakati wa uchezaji tena. Isipokuwa ni vipengele vya canvas, ambavyo maudhui yake hutumwa kama picha (ona hapa chini).

Telemetria ya viwianishi

Mtumiaji anaposhiriki, tunarekodi mtiririko wa matukio: nafasi za kipanya, kina cha kusogeza ukurasa, malengo ya mibofyo na mabadiliko ya ukubwa wa kivinjari, pamoja na mabadiliko ya ukurasa wenyewe na, kulingana na mipangilio, ujumbe wa konsoli, maombi yaliyoshindwa au ya polepole na vipimo vya muda wa kupakia (Web Vitals). Miendo na mibofyo ni midogo; picha za kurasa na mabadiliko ya kurasa yanaweza kuwa makubwa zaidi kulingana na ukurasa na hutumwa yakiwa yamebanwa.

Uchezaji tena wa Ukumbi

Unapotazama kipindi katika dashibodi yako, kichezaji chetu huunda upya ukurasa kwa kutumia ramani ya muundo iliyorekodiwa na kusogeza kishale pepe juu yake kwa wakati halisi, huku maandishi yakibaki makali kabisa.

Imeundwa kubaki nyepesi: hati ya programu hupakiwa kwa kujitegemea na kutuma nukta ndogo za data za nambari badala ya video, jambo linaloweka matumizi yake yenyewe kuwa madogo. Maana yake kwa Core Web Vitals zako hutegemea kurasa zako, huduma yako ya ukaribishaji na mtandao wa mtembeleaji wako, hivyo pima kwenye tovuti yako mwenyewe badala ya kutegemea takwimu kutoka kwetu. Hakuna kasi mahususi ya kupakia inayodhaminiwa – ona kifungu cha 20 cha Masharti ya Huduma.

2. Kushughulikia vipimo vya skrini & vifaa vya mkononi

Watumiaji wa leo huvinjari kwa kila kitu kuanzia simu mahiri ndogo hadi monita pana sana za 4K za kompyuta za mezani. Tovuti husogeza, kukunja na kupanga upya mipangilio yake kiotomatiki ili kutoshea upana tofauti wa skrini, dhana inayojulikana kama Usanifu wa Wavuti Unaobadilika.

Jinsi tunavyolingana na mwonekano halisi wa kivinjari cha mtembeleaji

Ili kuhakikisha uchezaji tena hauonekani kupotoshwa, MousePlayer hurekodi vipimo halisi vya mwonekano wa kivinjari cha mtembeleaji (k.m. 390x844 kwa simu mahiri au 1920x1080 kwa monita ya kompyuta ya mezani). Unapofungua kichezaji cha Ukumbi, injini yetu huunda mazingira yaliyotengwa yaliyopunguzwa kwa uwiano, yanayoakisi kikamilifu uwiano wa skrini asilia ya mtembeleaji.

Skrini za kompyuta za mezani & za mkononi

Katika kompyuta za kawaida, tunakusanya mwendo endelevu wa kipanya na urambazaji wa vichupo vingi ndani ya kipindi kilekile cha kivinjari. Menyu zinazofunguka kishale kinapokuwa juu yake huonekana katika uchezaji tena pale ukurasa unapobadilisha hati yake kwa kufanya hivyo; athari ya CSS pekee ya kishale kuwa juu haionekani katika hati na hairudiwi katika uchezaji tena.

Simu mahiri & kompyuta kibao

Skrini za mguso hazina kishale cha kipanya kinachoelea. MousePlayer hujirekebisha kiotomatiki kwa kurekodi miguso, kusogeza ukurasa kwa kutelezesha na mabadiliko ya mwelekeo (wima dhidi ya mlalo).

Changamoto ya kubadili ukubwa katikati ya kipindi

Mtembeleaji akizungusha kompyuta yake kibao au kubadilisha ukubwa wa dirisha la kivinjari cha kompyuta ya mezani katikati ya kipindi, mpangilio wa tovuti hubadilika. MousePlayer hukusanya matukio haya ya kubadili ukubwa wa dirisha na kurekebisha eneo la uchezaji kwa urahisi papo hapo, ili muktadha wa mwingiliano ubaki.

3. Vikomo vya mfumo & mipaka ya kiufundi

Ili kuheshimu faragha ya mtumiaji, kudumisha usalama wa kivinjari na kuweka uchakataji wa data kuwa wa haraka, MousePlayer hufanya kazi ndani ya mipaka iliyobainishwa ya kiufundi:

Mpaka wa mfumo Jinsi MousePlayer inavyoushughulikia
iFrames iframes zenye chanzo kilekile na ukurasa wako hurekodiwa pamoja na maudhui yake na mwingiliano wa ndani. Maudhui yaliyopachikwa ya chanzo kingine (k.m. vichezaji vya YouTube, fomu za malipo za Stripe) hayawezi kurekodiwa ndani kwa sababu ya sera za usalama za kivinjari (Same-Origin Policy); huonekana kama kishikilia nafasi katika uchezaji tena na hayapakiwi huko.
Sehemu nyeti za ingizo (data binafsi) Sehemu za nenosiri na malipo hufichwa kwenye kifaa cha mtembeleaji katika kila kiwango cha ufichaji, na ufichaji kamili wa ingizo lote la fomu ndiyo chaguo-msingi kwa kila tovuti. Unaona kuwa uandishi ulifanyika, si kilichoandikwa. Vikomo viwili vinatumika: viwango viwili dhaifu zaidi vya ufichaji huwezeshwa kwa idhini yetu ya maandishi tu, na ufichaji haufikii kamwe kinachochapishwa na ukurasa wako mwenyewe katika hati – ukurasa wa uthibitisho unaoonyesha anwani ni sehemu ya picha ya ukurasa. Vyote viwili vimeelezwa katika DPA.
Vipengele vya canvas & WebGL Maudhui ya canvas hurekodiwa kama picha: mara moja pamoja na picha ya ukurasa na tena kila yanapobadilika, si zaidi ya takriban mara moja kwa sekunde na kwa kikomo cha ukubwa. Kwa hiyo uhuishaji laini huonekana kama mfuatano wa fremu. Hakuna picha inayotumwa katika maeneo yaliyofichwa au kwa vipengele vya canvas vyenye picha za chanzo kingine; maudhui ya WebGL yanaweza kubaki tupu.
Vipengele vya Wavuti (Shadow DOM) Mizizi ya shadow iliyo wazi hurekodiwa pamoja na maudhui yake. Mizizi ya shadow iliyofungwa haifikiki kwa hati za programu; maudhui yake hukosekana katika uchezaji tena.
Usafirishaji & hifadhi ya kivinjari Data hutumwa kupitia muunganisho wa WebSocket uliosimbwa fiche (HTTPS/WSS). Usipoweza kuanzishwa, kwa mfano kwa sababu ya proksi, hati ya programu hutumia njia mbadala ya HTTP iliyosimbwa fiche; picha kubwa sana za kurasa hupakiwa kando kupitia HTTPS. MousePlayer haiweki vidakuzi; hutumia hifadhi ya ndani na hifadhi ya kipindi ya kivinjari katika tovuti yako.
Muda wa AFK bila shughuli Mtembeleaji akiacha kichupo chake wazi na kuondoka kwa dakika 20, injini yetu hugundua kiotomatiki kutokuwa na shughuli na kubana pengo hilo wakati wa uchezaji tena, ili usipoteze muda kutazama skrini zisizosogea.