Блог

Превключвателят Zen Mode: как работи и какво скрива

От talavo4 мин. четене

Zen Mode е единственият превключвател, който повечето потребители на talavo оставят постоянно включен. Докосни го и частите на YouTube, проектирани да те държат да превърташ, тихо изчезват. Ето точно какво премахва и защо го изградихме като превключвател, вместо да го налагаме на всички.

Какво изчезва

  • Рафтът на Shorts — безкрайният вертикален канал и редът му на началната страница, най-голямата загуба на време в платформата.
  • Коментари — напълно сгънати, така че гледаш видеото, а не спора под него.
  • Препоръки — страничната лента с видеа „следващо“ и решетката в края на екрана, която те автоматично пренася в следващия час.
  • Театрална рамка — плейърът е разширен, така че видеото е страницата, а не прозорец, заобиколен от примамки.

Как всъщност работи

Zen Mode са два слоя, работещи заедно. Първият е нативно блокиране на съдържание: talavo компилира правила в собствения WKContentRuleListStore на WebKit, същия механизъм, който използват блокерите на съдържание на Safari. Тези правила се изпълняват в двигателя преди да се изрисуват пиксели, така че блокираните елементи никога не струват оформление или мрежа.

Вторият слой е целенасочено стилизиране и скриптиране, инжектирано в страницата, което скрива динамичните части, които YouTube рендерира от страна на клиента при превъртане. Тъй като YouTube постоянно изпраща промени в оформлението, този слой е написан да съответства на структурата на тези компоненти, а не на крехки еднократни имена на класове — и той е част от това, което актуализираме между версиите.

Защо превключвател

Понякога наистина искаш коментарите — закачената корекция на урок, заместителите в рецепта. Zen Mode е на едно докосване от десния панел, и talavo запомня избора ти по сайт, така че намираш сайта така, както си го оставил. Стандартното, което ни интересува, не е „всичко изключено“ — то е твоето стандартно, запазено без да мислиш за него.

Искаш ли останалите филтри? Те са в същия панел — виж changelog кога е включен всеки от тях.