MousePlayer qanday ishlaydi
Kuzatuv arxitekturamiz, qurilmalar bo‘ylab ekran o‘lchamlari va tizim chegaralari haqida sodda qo‘llanma.
1. Nega video yozuv ishlatmaymiz
Vizual tahlil vositalari tashrifchi ekranining odatiy video faylini (MP4 yoki WebM kabi) yozadi degan keng tarqalgan noto‘g‘ri tushuncha bor. Bu ulkan trafik sarflar, saytingizni keskin sekinlashtirar va xira, o‘qilmaydigan matn yaratar edi.
Buning o‘rniga MousePlayer shu yengil texnologiyadan foydalanadi: DOM tasviri telemetriyasi. Asosiy ishlashi quyidagicha:
Tuzilma tasviri
Tashrifchi sahifangizni ochganda skriptimiz HTML va uslublar tuzilmasining matnli “chizmasi”ni oladi. Sahifadagi rasm yoki videolarni nusxalamasdan elementlar joylashuvini yozadi; pleyer qayta ijroda rasmlarni asl manzilidan yuklaydi. Istisno — canvas elementlari, kontenti rasm sifatida uzatiladi (quyiga qarang).
Koordinata telemetriyasi
Foydalanuvchi ishlayotganda hodisalar oqimini yozamiz: sichqoncha joylari, aylantirish chuqurligi, bosish maqsadlari va brauzer o‘lchami, sahifa o‘zgarishlari hamda sozlamalarga qarab konsol xabarlari, muvaffaqiyatsiz yoki sekin so‘rovlar va yuklash o‘lchovlari (Web Vitals). Harakat va bosishlar kichik; sahifa tasviri va o‘zgarishlari sahifaga qarab ancha katta bo‘lishi mumkin va siqilgan holda uzatiladi.
Teatr qayta ijrosi
Boshqaruv panelida sessiyani ko‘rganingizda pleyerimiz yozilgan chizma bilan sahifani qayta yaratib, virtual kursorni jonli harakatlantiradi va matnni tiniq saqlaydi.
Yengil qolish uchun yaratilgan: skript asinxron yuklanib, video o‘rniga kichik raqamli nuqtalarni uzatadi, o‘z yukini kichik tutadi. Core Web Vitals’ga ta’siri sahifa, hosting va tashrifchi tarmog‘iga bog‘liq, shu sababli bizdan raqam olish o‘rniga o‘z saytingizda o‘lchang. Muayyan yuklash tezligi kafolatlanmaydi – quyidagi hujjatning 20-bo‘limiga qarang: Xizmat shartlari.
2. Ekran o‘lchamlari & mobil qurilmalar
Hozir foydalanuvchilar ixcham smartfondan o‘ta keng 4K monitorgacha ishlatadi. Saytlar turli ekran kengliklariga sig‘ish uchun joylashuvini avtomatik siljitadi, yig‘adi va o‘zgartiradi — bu moslashuvchan veb dizayn deyiladi.
Tashrifchining aniq ko‘rinadigan maydonini qanday moslaymiz
Qayta ijro buzilmasligi uchun MousePlayer tashrifchining ko‘rinadigan maydon o‘lchamlarini aniq yozadi (masalan, 390x844 smartfon uchun yoki 1920x1080 kompyuter monitori uchun). Teatr pleyerini ochganda mexanizmimiz tashrifchining asl ekran nisbatini aynan aks ettiradigan masshtablangan izolyatsiyalangan muhit yaratadi.
Kompyuter & noutbuk ekranlari
Odatiy kompyuterlarda bir brauzer sessiyasidagi uzluksiz sichqoncha harakati va ko‘p varaqli navigatsiyani yozamiz. Ustiga olib borilganda ochiladigan menyu sahifa hujjatini o‘zgartirsa qayta ijroda ko‘rinadi; faqat CSS hover effekti hujjatda ko‘rinmaydi va qayta ijro qilinmaydi.
Smartfon & planshetlar
Sensorli ekranlarda ustida suzuvchi sichqoncha kursori yo‘q. MousePlayer tegish, surib aylantirish va yo‘nalish almashishini (tik yoki yotiq) yozib, avtomatik moslashadi.
Sessiya o‘rtasida o‘lcham o‘zgarishi muammosi
Tashrifchi planshetini aylantirsa yoki sessiya o‘rtasida brauzer oynasini o‘zgartirsa, sayt joylashuvi dinamik o‘zgaradi. MousePlayer bu hodisalarni yozib, o‘zaro ta’sir konteksti saqlanishi uchun ijro maydonini darhol moslaydi.
3. Tizim limitlari & texnik chegaralar
Foydalanuvchi maxfiyligi, brauzer xavfsizligi va tez ma’lumot qayta ishlash uchun MousePlayer aniq texnik chegaralarda ishlaydi:
| Tizim chegarasi | MousePlayer qanday ishlaydi |
|---|---|
| iFrames | Sahifangiz bilan bir manbali iframe’lar kontenti va ichki amallari bilan yoziladi. Boshqa manbali joylashtirilgan kontentni (YouTube pleyeri, Stripe to‘lov shakli kabi) brauzer xavfsizlik qoidalari (Same-Origin Policy) tufayli ichidan yozib bo‘lmaydi; qayta ijroda o‘rinbosar sifatida ko‘rinadi va yuklanmaydi. |
| Maxfiy kiritish maydonlari (PII) | Parol va to‘lov maydonlari har niqoblash darajasida tashrifchi qurilmasida niqoblanadi, barcha shakl kiritmalarini to‘liq niqoblash har sayt uchun standart. Nima yozilganini emas, yozilganini ko‘rasiz. Ikki chegara bor: ikki zaifroq daraja faqat yozma ruxsatimiz bilan yoqiladi, niqoblash esa sahifangizning hujjatga chiqargan matniga yetmaydi – manzil ko‘rsatilgan tasdiqlash sahifasi tasvirning bir qismi. Ikkalasi ham quyida belgilangan: DPA. |
| Canvas & WebGL elementlari | Canvas kontenti rasm sifatida yoziladi: sahifa tasviri bilan bir marta va har o‘zgarganda yana, ko‘pi bilan taxminan soniyasiga bir marta va hajm limiti bilan. Silliq animatsiyalar kadrlar ketma-ketligi sifatida ko‘rinadi. Niqoblangan joylarda yoki boshqa manba rasmlari bor canvas uchun rasm uzatilmaydi; WebGL kontenti bo‘sh qolishi mumkin. |
| Veb komponentlar (Shadow DOM) | Ochiq shadow root’lar kontenti bilan yoziladi. Yopiq shadow root’larga skriptlar kira olmaydi; kontenti qayta ijroda yo‘q. |
| Uzatish & brauzer xotirasi | Ma’lumot shifrlangan WebSocket ulanishida (HTTPS/WSS) yuboriladi. Masalan, proksi sabab ulanish bo‘lmasa, skript shifrlangan HTTP yo‘liga o‘tadi; juda katta sahifa tasvirlari HTTPS orqali alohida yuklanadi. MousePlayer cookie o‘rnatmaydi; saytingizda brauzer local storage va session storage’idan foydalanadi. |
| Nofaol AFK davrlari | Tashrifchi varaqni ochiq qoldirib 20 daqiqaga ketsa, mexanizmimiz nofaollikni avtomatik aniqlab, harakatsiz ekran ko‘rishga vaqt ketmasligi uchun ijrodagi tanaffusni siqadi. |