// ==UserScript== // @name YouTube - Block Autoplay Preview Thumbnail and Channel Trailer // @name:af YouTube - Blokkeer Outomatiese Voorskou van Duimnaels en Kanaalvoorskou // @name:am YouTube - የራስ-ፕሌይ ቅድመ-እይታ ታምብኔይል እና ቻናል ትሬይለር አግድ // @name:ar يوتيوب - حظر معاينة التشغيل التلقائي للصور المصغرة وتريلر القناة // @name:as YouTube - অটোপ্লে থাম্বনেইল পূৰ্বদৰ্শন আৰু চেনেল ট্ৰেইলাৰ ব্লক কৰক // @name:az YouTube - Kiçik Şəkillərin Avtomatik Önizləməsini və Kanal Treylerini Blokla // @name:bn YouTube - অটোপ্লে থাম্বনেল প্রিভিউ এবং চ্যানেল ট্রেলার ব্লক করুন // @name:bg YouTube - Блокиране на Автоматичен Преглед на Миниатюри и Трейлър на Канал // @name:bs YouTube - Blokiraj Automatski Pregled Sličica i Trejler Kanala // @name:ca YouTube - Bloqueja Previsualització de Reproducció Automàtica de Miniatures i Tràiler del Canal // @name:cs YouTube - Blokování Automatického Náhledu Miniatur a Traileru Kanálu // @name:cy YouTube - Blocio Rhagolwg Chwarae Awtomatig Thumbnail a Threilar Sianel // @name:da YouTube - Blokér Autoplay-Forhåndsvisning af Miniaturer og Kanaltrailer // @name:de YouTube - Autoplay-Vorschau von Vorschaubildern und Kanaltrailer blockieren // @name:el YouTube - Μπλοκάρισμα Προεπισκόπησης Αυτόματης Αναπαραγωγής Μικρογραφιών και Τρέιλερ Καναλιού // @name:eo YouTube - Bloki Aŭtomatan Antaŭrigardon de Miniaturoj kaj Kanalan Antaŭfilmon // @name:es YouTube - Bloquear Vista Previa de Reproducción Automática de Miniaturas y Tráiler del Canal // @name:et YouTube - Blokeeri Autoplay Eelvaade Miniatuuride ja Kanali Treileri // @name:eu YouTube - Autoplay Aurrebista Thumbnail eta Kanaleko Trailerra Blokeatu // @name:fi YouTube - Estä Autotoiston Esikatselu Miniatuureista ja Kanavan Traileria // @name:fr YouTube - Bloquer Aperçu Lecture Automatique des Miniatures et Bande-annonce de Chaîne // @name:fr-CA YouTube - Bloquer Aperçu Lecture Automatique des Miniatures et Bande-annonce de Chaîne // @name:gl YouTube - Bloquear Vista Previa de Reprodución Automática de Miniaturas e Tráiler do Canal // @name:he YouTube - חסימת תצוגה מקדימה אוטומטית של תמונות ממוזערות וטריילר ערוץ // @name:hi YouTube - ऑटोप्ले थंबनेल पूर्वावलोकन और चैनल ट्रेलर ब्लॉक करें // @name:hr YouTube - Blokiraj Automatski Pregled Miniatura i Trailer Kanala // @name:hu YouTube - Autoplay Előnézet Miniatűrök és Csatorna Előzetes Blokkolása // @name:id YouTube - Blokir Pratinjau Putar Otomatis Thumbnail dan Trailer Saluran // @name:is YouTube - Blokkar Sjálfvirka Forskoðun Smámynda og Rásarstiklu // @name:it YouTube - Blocca Anteprima Riproduzione Automatica di Miniature e Trailer del Canale // @name:ja YouTube - 自動再生プレビューサムネイルとチャンネルトレーラーをブロック // @name:ka YouTube - ავტომატური წინასწარი ჩვენების მინიატურებისა და არხის ტრეილერის ბლოკირება // @name:kk YouTube - Миниатюралардың Автокөрініс Алдын-ала Қарауын және Арна Тизерін Блоктау // @name:km YouTube - ទប់ស្កាត់ការបង្ហាញជាមុនផ្ទាំងរូបភាពតូច និងវីដេអូផ្សព្វផ្សាយឆានែល // @name:ko YouTube - 자동 재생 미리보기 썸네일 및 채널 예고편 차단 // @name:lo YouTube - ບລັອກການສະແດງຕົວຢ່າງອັດຕະໂນມັດຂອງຮູບຍໍ້ ແລະຕົວຢ່າງຊ່ອງ // @name:lt YouTube - Blokuoja Autoplay Peržiūrą Miniatiūrų ir Kanalo Anonsą // @name:lv YouTube - Bloķēt Autoplay Priekšskatījumu Miniatūrām un Kanāla Treileri // @name:ms YouTube - Blok Pratinjau Putar Automatik Thumbnail dan Treler Saluran // @name:nb YouTube - Blokker Forhåndsvisning av Autoplay Miniatyrbilder og Kanaltrailer // @name:ne YouTube - अटोप्ले थम्बनेल पूर्वावलोकन र च्यानल ट्रेलर ब्लक गर्नुहोस् // @name:nl YouTube - Blokkeer Automatische Afspeelvoorbeeld van Thumbnails en Kanaaltrailer // @name:no YouTube - Blokker Autoplay-Forhåndsvisning av Miniatyrer og Kanaltrailer // @name:pl YouTube - Blokuj Podgląd Automatycznego Odtwarzania Miniaturek i Zwiastun Kanału // @name:pt-BR YouTube - Bloquear Prévia de Reprodução Automática de Miniaturas e Trailer do Canal // @name:ro YouTube - Blochează Previzualizare Redare Automată a Miniaturilor și Trailer de Canal // @name:ru YouTube - Блокировать Автовоспроизведение Превью Миниатюр и Трейлер Канала // @name:sk YouTube - Blokovať Autoplay Náhľad Miniatúr a Ukážku Kanálu // @name:sl YouTube - Blokiraj Samodejni Predogled Miniaturnih Slik in Napovednik Kanala // @name:sq YouTube - Bllokoni Parapamjen e Riprodhimit Automatik të Thumbnail dhe Trailerin e Kanalit // @name:sr YouTube - Blokiraj Automatski Pregled Minijatura i Trejler Kanala // @name:sv YouTube - Blockera Autoplay-Förhandsgranskning av Miniatyr och Kanaltrailer // @name:th YouTube - บล็อกตัวอย่างเล่นอัตโนมัติของรูปย่อและตัวอย่างช่อง // @name:tr YouTube - Otomatik Oynatma Önizlemesi Thumbnail ve Kanal Fragmanını Engelle // @name:ug YouTube - ئاپتوماتىك كۆرۈش ئالدىن كۆرۈش كىچىك رەسىم ۋە قانال تىزىرلىقىنى چەكلەش // @name:uk YouTube - Блокувати Автовідтворення Попереднього Перегляду Мініатюр та Трейлер Каналу // @name:vi YouTube - Chặn Xem Trước Tự Động Thumbnail và Trailer Kênh // @name:zh-CN YouTube - 阻止自动播放缩略图预览和频道预告片 // @name:zh-TW YouTube - 阻止自動播放縮圖預覽和頻道預告片 // @description Blocks YouTube thumbnail hover previews (WebP & video) and stops channel trailers (video + audio). Keeps progress bars, play buttons, and static images. Works on all pages, no login or permissions needed, runs at document-start. // @description:af Blokkeer YouTube-duimnael-hover-voorskoue (WebP & video) en stop kanaalvoorskoue (video + klank). Behou vorderingstawe, speelknoppies en statiese beelde. Werk op alle bladsye, geen aantekening of toestemming nodig nie, begin by dokument-begin. // @description:am የYouTube ታምብኔይል ሆቨር ቅድመ-እይታዎችን (WebP እና ቪዲዮ) ያግዳል እና የቻናል ትሬይለሮችን (ቪዲዮ + ኦዲዮ) ያቆማል። የእድገት አሞሌዎችን፣ የፕሌይ ቁልፎችን እና የማይንቀሳቀሱ ምስሎችን ያቆያል። በሁሉም ገፆች ላይ ይሰራል፣ ምንም መግባት ወይም ፍቃድ አያስፈልግም፣ በሰነድ-ጅምር ይሰራል። // @description:ar يحظر معاينات الصور المصغرة عند التمرير (WebP وفيديو) ويوقف تريلرات القناة (فيديو + صوت). يحافظ على أشرطة التقدم، أزرار التشغيل، والصور الثابتة. يعمل على جميع الصفحات، بدون تسجيل دخول أو أذونات، يبدأ فور تحميل الصفحة. // @description:as YouTube-ত অটোপ্লে থাম্বনেইল হোভাৰ পূৰ্বদৰ্শন (WebP আৰু ভিডিঅ') আৰু চেনেল ট্ৰেইলাৰ (ভিডিঅ' + অডিঅ') ব্লক কৰে। প্ৰগ্ৰেছ বাৰ, প্লে বুটাম আৰু স্থিৰ ছবি ৰাখে। সকলো পৃষ্ঠাত কাম কৰে, লগইন বা অনুমতিৰ প্ৰয়োজন নাই, পৃষ্ঠা লোড হোৱাৰ লগে লগে চলে। // @description:az YouTube-da kiçik şəkillərin üzərinə gəldikdə avtomatik önizləməni (WebP və video) və kanal treylerini (video + səs) bloklayır. İzləmə çubuqlarını, oxut düymələrini və statik şəkilləri saxlayır. Bütün səhifələrdə işləyir, giriş və ya icazə tələb etmir, səhifə yüklənən kimi işə düşür. // @description:bn ইউটিউব থাম্বনেল হোভার প্রিভিউ (WebP এবং ভিডিও) ব্লক করে এবং চ্যানেল ট্রেলার (ভিডিও + অডিও) বন্ধ করে। প্রোগ্রেস বার, প্লে বোতাম এবং স্থির ছবি রাখে। সব পৃষ্ঠায় কাজ করে, লগইন বা অনুমতি ছাড়া, পৃষ্ঠা লোড হওয়ার সাথে সাথে চলে। // @description:bg Блокира предварителни прегледи при навеждане на миниатюри (WebP и видео) и спира трейлърите на канали (видео + звук). Запазва лентите за напредък, бутоните за възпроизвеждане и статичните изображения. Работи на всички страници, без вход или разрешения, стартира при зареждане на страницата. // @description:bs Blokira pregled sličica pri lebdenju kursora (WebP i video) i zaustavlja trejlere kanala (video + zvuk). Čuva trake napretka, dugmiće za reprodukciju i statične slike. Radi na svim stranicama, bez prijave ili dozvole, pokreće se pri učitavanju stranice. // @description:ca Bloqueja les visualitzacions prèvies de les miniatures en passar-hi per sobre (WebP i vídeo) i atura els tràilers del canal (vídeo + àudio). Manté les barres de progrés, botons de reproducció i imatges estàtiques. Sense inici de sessió ni permisos, s’executa al carregament de la pàgina. // @description:cs Blokuje náhledy miniaturek při najetí myší (WebP a video) a zastavuje trailery kanálů (video + zvuk). Zachovává ukazatele postupu, tlačítka přehrávání a statické obrázky. Bez přihlášení nebo oprávnění, spouští se při načtení stránky. // @description:cy Yn blocio rhagolwg chwarae awtomatig ar smotynnau (WebP a fideo) ac yn stopio treilar sianel (fideo + sain). Yn cadw barrau cynnydd, botymau chwarae a delweddau statig. Yn gweithio ar bob tudalen, dim mewngofnodi na chaniatâd, yn rhedeg ar document-start. // @description:da Blokerer miniature-hover-forhåndsvisninger (WebP og video) og stopper kanaltrailere (video + lyd). Bevarer fremskridtsmærker, afspilningsknapper og statiske billeder. Ingen login eller tilladelser, kører ved sideindlæsning. // @description:de Blockiert Hover-Vorschauen von Thumbnails (WebP & Video) und stoppt Kanaltrailer (Video + Ton). Behält Fortschrittsbalken, Play-Buttons und statische Bilder bei. Kein Login oder Berechtigungen erforderlich, startet beim Seitenladen. // @description:el Μπλοκάρει προεπισκοπήσεις εικόνων μικρογραφιών κατά το hover (WebP και βίντεο) και σταματά τρέιλερ καναλιών (βίντεο + ήχος). Διατηρεί γραμμές προόδου, κουμπιά αναπαραγωγής και στατικές εικόνες. Χωρίς σύνδεση ή άδειες, εκτελείται κατά τη φόρτωση σελίδας. // @description:eo Blokas miniaturojn hover antaŭrigardojn (WebP & video) kaj haltigas kanalajn antaŭfilmojn (video + sono). Konservas progresajn stangojn, ludbutonojn kaj statikajn bildojn. Sen ensaluto aŭ permesoj, lanĉiĝas ĉe ŝarĝo de paĝo. // @description:es Bloquea vistas previas de miniaturas al pasar el mouse (WebP y video) y detiene tráilers de canal (video + audio). Mantiene barras de progreso, botones de reproducción y imágenes estáticas. Sin inicio de sesión ni permisos, se ejecuta al cargar la página. // @description:et Blokeerib thumbnail-kursorilähisvaadet (WebP ja video) ja peatab kanalite treilerid (video + heli). Säilitab edenemisribad, esitusnupud ja staatilised pildid. Ilma sisselogimise või lubadeta, käivitub lehe laadimisel. // @description:eu Aurrebista blokeatu thumbnail hover (WebP eta bideoa) eta gelditu kanalaren trailerrak (bideoa + audioa). Mantentzen ditu aurrerapen-barrak, erreproduzitzeko botoiak eta irudi estatikoak. Saioa hasi gabe eta baimenik gabe, orria kargatzean exekutatzen da. // @description:fi Estää thumbnail-kohdistus-esikatselut (WebP ja video) ja pysäyttää kanavan trailerit (video + ääni). Säilyttää edistymispalkit, toistonapit ja staattiset kuvat. Ei kirjautumista tai lupia, käynnistyy sivun latautuessa. // @description:fr Bloque les aperçus au survol des miniatures (WebP et vidéo) et arrête les bandes-annonces de chaîne (vidéo + son). Conserve les barres de progression, boutons de lecture et images statiques. Sans connexion ni permission, s’exécute au chargement de la page. // @description:fr-CA Bloque les aperçus au survol des miniatures (WebP et vidéo) et arrête les bandes-annonces de chaîne (vidéo + son). Conserve les barres de progression, boutons de lecture et images statiques. Sans connexion ni permission, s’exécute au chargement de la page. // @description:gl Bloquea as vistas previas de miniaturas ao pasar o rato (WebP e vídeo) e detén os tráilers do canal (vídeo + son). Mantén as barras de progreso, botóns de reprodución e imaxes estáticas. Sen inicio de sesión nin permisos, execútase ao cargar a páxina. // @description:he חוסם תצוגות מקדימות של תמונות ממוזערות (WebP ווידאו) ועוצר טריילרים של ערוצים (וידאו + קול). שומר על סרגלי התקדמות, כפתורי ניגון ותמונות סטטיות. ללא כניסה או הרשאות, פועל בטעינת הדף. // @description:hi YouTube थंबनेल होवर पूर्वावलोकन (WebP और वीडियो) और चैनल ट्रेलर (वीडियो + ऑडियो) को ब्लॉक करता है। प्रोग्रेस बार, प्ले बटन और स्थिर छवियां रखता है। सभी पेजों पर काम करता है, लॉगिन या अनुमति नहीं चाहिए, पेज लोड होते ही चलता है। // @description:hr Blokira preglede pri lebdenju na sličicama (WebP i video) i zaustavlja trailere kanala (video + zvuk). Zadržava trake napretka, tipke za reprodukciju i statične slike. Bez prijave ili dozvole, pokreće se pri učitavanju stranice. // @description:hu Blokkolja a miniatűr hover előnézeteket (WebP és video) és megállítja a csatorna előzeteseit (video + hang). Megtartja a folyamatjelzőket, lejátszási gombokat és statikus képeket. Bejelentkezés vagy engedély nélkül, oldal betöltésekor fut. // @description:id Memblokir pratinjau hover thumbnail (WebP & video) dan menghentikan trailer saluran (video + audio). Menjaga bilah kemajuan, tombol putar dan gambar statis. Tanpa login atau izin, berjalan saat halaman dimuat. // @description:is Blokkar sjálfvirka forskoðun á smámyndum (WebP og myndskeið) og stöðvar rásarstiklur (myndskeið + hljóð). Heldur áfram framfara stöng, spila hnöppum og kyrrstæðum myndum. Engin innskráning eða heimild, keyrir við hleðslu síðu. // @description:it Blocca anteprime hover su miniature (WebP e video) e ferma i trailer dei canali (video + audio). Mantiene barre di avanzamento, pulsanti play e immagini statiche. Nessun login o permessi, si avvia al caricamento della pagina. // @description:ja YouTubeのすべてのページでサムネイルのホバー時プレビュー(WebPおよびビデオ)とチャンネルトレーラー(ビデオ+音声)をブロックします。進捗バー、再生ボタン、静止画像を保持。ログインや権限不要、ページ読み込み時に実行。 // @description:ka ბლოკავს მინიატურების ჰოვერ წინასწარ ჩვენებას (WebP & ვიდეო) და აჩერებს არხის ტრეილერებს (ვიდეო + ხმა). ინახავს პროგრესის ზოლებს, დაკვრის ღილაკებს და სტატიკურ სურათებს. შესვლა ან ნებართვა არაა საჭირო, გვერდის ჩატვირთვისას მუშაობს. // @description:kk YouTube-те миниатюраларға курсорды апарғанда автокөрініс алдын-ала қарауды (WebP және видео) және арна тизерлерін (видео + дыбыс) блоктайды. Прогресс жолақтарын, ойнату батырмаларын және статикалық суреттерді сақтайды. Кірусіз және рұқсатсыз жұмыс істейді, бет жүктелгенде іске қосылады. // @description:km ទប់ស្កាត់ការបង្ហាញជាមុនផ្ទាំងរូបភាពតូច (WebP និងវីដេអូ) នៅពេលរំកិលកណ្តុរ និងបញ្ឈប់វីដេអូផ្សព្វផ្សាយឆានែល (វីដេអូ + សំឡេង)។ រក្សាទុករបារវឌ្ឍនភាព ប៊ូតុងចាក់ និងរូបភាពឋិតិវន្ត។ ដំណើរការលើគ្រប់ទំព័រ មិនតម្រូវឱ្យចូលគណនី ឬសិទ្ធិ ចាប់ផ្តើមនៅពេលផ្ទុកទំព័រ។ // @description:ko 모든 YouTube 페이지에서 썸네일 호버 미리보기(WebP 및 비디오)와 채널 예고편(비디오 + 오디오)을 차단합니다. 진행 막대, 재생 버튼 및 정적 이미지를 유지합니다. 로그인이나 권한 불필요, 페이지 로드 시 실행. // @description:lo ບລັອກການສະແດງຕົວຢ່າງທີ່ເປີດອັດຕະໂນມັດເມື່ອວາງເມົາສ໌ (WebP ແລະ ວິດີໂອ) ແລະ ຢຸດຕົວຢ່າງຊ່ອງ (ວິດີໂອ + ສຽງ). ຮັກສາແຖບຄວາມຄືບໍາ, ປຸ່ມຫຼິ້ນ ແລະ ຮູບພາບຄົງທີ່. ເຮັດວຽກໃນທຸກໜ້າ, ບໍ່ຕ້ອງເຂົ້າສູ່ລະບົບ ຫຼື ອະນຸຍາດ, ເລີ່ມເຮັດວຽກຕອນທີ່ໂຫຼດໜ້າ. // @description:lt Blokuoja miniatiūrų užvedimo peržiūras (WebP ir vaizdo įrašus) ir sustabdo kanalų anonsus (vaizdo įrašas + garsas). Išlaiko pažangos juostas, grojimo mygtukus ir statinius vaizdus. Be prisijungimo ar leidimų, veikia puslapio įkėlimo metu. // @description:lv Bloķē sīktēlu pārslēgšanās priekšskatījumu (WebP un video) un aptur kanāla treilerus (video + audio). Saglabā progresa joslas, atskaņošanas pogas un statiskus attēlus. Bez pieteikšanās vai atļaujām, darbojas lapas ielādes laikā. // @description:ms Menghalang pratinjau hover thumbnail (WebP & video) dan menghentikan treler saluran (video + audio). Menyimpan bar kemajuan, butang main dan imej statik. Tiada log masuk atau kebenaran, dijalankan semasa halaman dimuat. // @description:nb Blokkerer forhåndsvisninger av miniatyrbilder ved svev (WebP og video) og stopper kanaltrailere (video + lyd). Beholder fremdriftslinjer, avspillingsknapper og statiske bilder. Ingen innlogging eller tillatelser, kjører ved sidelasting. // @description:ne YouTube मा थम्बनेल होभर गर्दा आउने अटोप्ले पूर्वावलोकन (WebP र भिडियो) र च्यानल ट्रेलर (भिडियो + अडियो) लाई ब्लक गर्छ। प्रोग्रेस बार, प्ले बटन र स्थिर तस्बिरहरू कायम राख्छ। सबै पेजमा काम गर्छ, लगइन वा अनुमति चाहिँदैन, पेज लोड हुने बित्तिकै चल्छ। // @description:nl Blokkeert hover-voorbeelden van thumbnails (WebP en video) en stopt kanaaltrailers (video + audio). Behoudt voortgangsbalken, afspeelknoppen en statische afbeeldingen. Geen login of toestemming, start bij paginalading. // @description:no Blokkerer forhåndsvisninger av miniatyrer ved svev (WebP og video) og stopper kanaltrailere (video + lyd). Beholder fremdriftslinjer, avspillingsknapper og statiske bilder. Ingen innlogging eller tillatelser, kjører ved sidelasting. // @description:pl Blokuje podglądy miniaturek przy najechaniu myszą (WebP i wideo) oraz zatrzymuje zwiastuny kanałów (wideo + dźwięk). Zachowuje paski postępu, przyciski odtwarzania i statyczne obrazy. Bez logowania i uprawnień, uruchamia się przy ładowaniu strony. // @description:pt-BR Bloqueia prévias de miniaturas ao passar o mouse (WebP e vídeo) e interrompe trailers de canal (vídeo + áudio). Mantém barras de progresso, botões de play e imagens estáticas. Sem login ou permissão, executa ao carregar a página. // @description:ro Blochează previzualizări la hover pe miniaturi (WebP și video) și oprește trailerele de canal (video + audio). Păstrează barele de progres, butoanele de redare și imaginile statice. Fără login sau permisiuni, rulează la încărcarea paginii. // @description:ru Блокирует превью при наведении на миниатюры (WebP и видео) и останавливает трейлеры каналов (видео + звук). Сохраняет индикаторы прогресса, кнопки воспроизведения и статические изображения. Без входа или разрешений, запускается при загрузке страницы. // @description:sk Blokuje náhľady miniatúr pri prechode myšou (WebP a video) a zastavuje ukážky kanálov (video + zvuk). Zachováva ukazovatele postupu, tlačidlá prehrávania a statické obrázky. Bez prihlásenia alebo povolenia, spúšťa sa pri načítaní stránky. // @description:sl Blokira predoglede sličic ob preletu (WebP in video) in ustavi napovednike kanalov (video + zvok). Ohrani vrstice napredka, gumbe za predvajanje in statične slike. Brez prijave ali dovoljenj, zažene ob nalaganju strani. // @description:sq Bllokon parapamjen e hover thumbnail (WebP dhe video) dhe ndalon trailerat e kanalit (video + audio). Mbaj shirita përparimi, butona luajtjeje dhe imazhe statike. Pa hyrje ose leje, ekzekutohet gjatë ngarkimit të faqes. // @description:sr Блокира аутоматски преглед минијатура при лебдећу показивачу (WebP и видео) и зауставља трејлере канала (видео + звук). Чува траке напретка, дугмиће за репродукцију и статичне слике. Без пријаве или дозволе, покреће се при учитавању странице. // @description:sv Blockerar förhandsgranskningar vid hovring på miniatyrer (WebP och video) och stoppar kanaltrailers (video + ljud). Behåller förloppsindikatorer, uppspelningsknappar och statiska bilder. Ingen inloggning eller behörighet krävs, körs vid sidladdning. // @description:th บล็อกการแสดงตัวอย่างเล่นอัตโนมัติเมื่อเลื่อนเมาส์บนรูปย่อ (WebP และวิดีโอ) และหยุดตัวอย่างช่อง (วีดีโอ + เสียง) รักษาแถบความคืบหน้า ปุ่มเล่น และภาพนิ่ง ไม่ต้องล็อกอินหรืออนุญาต ทำงานเมื่อโหลดหน้าเว็บ // @description:tr Tüm YouTube sayfalarında küçük resim hover önizlemelerini (WebP ve video) ve kanal fragmanlarını (video + ses) engeller. İlerleme çubuklarını, oynat düğmelerini ve statik resimleri korur. Giriş veya izin gerekmez, sayfa yüklenirken çalışır. // @description:ug بارلىق YouTube بەتلىرىدە كىچىك رەسىم hover ئالدىن كۆرۈشلىرىنى (WebP & ۋىدىيو) ۋە قانال تىزىرلىقلىرىنى (ۋىدىيو + ئاۋاز) چەكلەيدۇ. ئىلگىرىلەش تارىمىقى، ئويناش كۇنۇپكىلىرى ۋە سىتاتىك رەسىملەرنى ساقلايدۇ. كىرىش ياكى ئىجازەت تەلەپ قىلمايدۇ، بەت يۈكلەنگەندە ئىجرا بولىدۇ. // @description:uk Блокує попередній перегляд при наведенні на мініатюри (WebP та відео) та зупиняє трейлери каналів (відео + звук). Зберігає смуги прогресу, кнопки відтворення та статичні зображення. Без входу чи дозволів, запускається при завантаженні сторінки. // @description:vi Chặn xem trước tự động khi di chuột qua thumbnail (WebP & video) và dừng trailer kênh (video + âm thanh). Giữ nguyên thanh tiến độ, nút play và ảnh tĩnh. Hoạt động trên mọi trang, không cần đăng nhập hay quyền, chạy ngay khi tải trang. // @description:zh-CN 在所有YouTube页面上阻止缩略图悬停预览(WebP和视频)并停止频道预告片(视频+音频)。保留进度条、播放按钮和静态图像。无需登录或权限,页面加载时运行。 // @description:zh-TW 在所有 YouTube 頁面上阻止縮圖懸停預覽(WebP 與視頻)並停止頻道預告片(視頻+音頻)。保留進度條、播放按鈕和靜態圖像。無需登錄或權限,頁面載入時即執行。 // @namespace https://openuserjs.org/users/miebie.1412 // @author miebie.1412 // @version 1.6.5 // @match https://*.youtube.com/* // @grant none // @run-at document-start // @license MIT // @homepageURL https://openuserjs.org/users/miebie.1412 // @supportURL https://openuserjs.org/scripts/miebie.1412/YouTube_-_Block_Autoplay_Preview_Thumbnail_Channel_Trailer/issues // @icon https://www.google.com/s2/favicons?sz=64&domain=youtube.com // @downloadURL https://update.greasyfork.icu/scripts/555488/YouTube%20-%20Block%20Autoplay%20Preview%20Thumbnail%20and%20Channel%20Trailer.user.js // @updateURL https://update.greasyfork.icu/scripts/555488/YouTube%20-%20Block%20Autoplay%20Preview%20Thumbnail%20and%20Channel%20Trailer.meta.js // ==/UserScript== (function () { 'use strict'; const processed = new WeakSet(); let lastScrollY = 0; const style = document.createElement('style'); style.textContent = ` body:not([page-type="watch"]) ytd-moving-thumbnail-renderer, body:not([page-type="watch"]) .ytd-moving-thumbnail-renderer, .ytp-cued-thumbnail-overlay, .ytp-cued-thumbnail-overlay-image, ytd-thumbnail-overlay-loading-preview-renderer, .ytd-thumbnail-overlay-loading-preview-renderer, ytd-video-preview:not(#player-container ytd-video-preview), .ytd-video-preview:not(#player-container .ytd-video-preview), #thumbnail-overlay-play:not(#player-container #thumbnail-overlay-play), .thumbnail-overlay-play:not(#player-container .thumbnail-overlay-play), #video-preview-container:not(#player-container #video-preview-container), .video-preview-container:not(#player-container .video-preview-container), ytd-channel-video-player-renderer, #c4-player, ytd-player[context*="CHANNEL_TRAILER"] { display: none !important; visibility: hidden !important; height: 0 !important; width: 0 !important; overflow: hidden !important; pointer-events: none !important; } #movie-player #player img, .html5-main-video-container img, ytd-watch-flexy #thumbnail img { display: block !important; visibility: visible !important; opacity: 1 !important; } ytd-thumbnail img, .ytd-thumbnail img { transition: none !important; opacity: 1 !important; } #overlays, .ytd-rich-item-renderer #overlays, ytd-thumbnail[has-inline-playback-button] #overlays, ytd-thumbnail-overlay-toggle-pause-renderer, .ytd-thumbnail-overlay-toggle-pause-renderer { all: unset !important; display: block !important; } `; (document.head || document.documentElement).appendChild(style); const blockAudio = () => { if (document.querySelector('ytd-recorder, [data-recorder-active], [id*="recorder"], .recorder-active')) { return; } ['AudioContext', 'webkitAudioContext'].forEach(name => { if (window[name] && !window[name].prototype._blocked) { const AC = window[name]; AC.prototype._blocked = true; const dummy = { connect: () => {}, disconnect: () => {} }; AC.prototype.createMediaElementSource = () => dummy; AC.prototype.resume = () => Promise.resolve(); } }); }; blockAudio(); setInterval(blockAudio, 200); const isMainVideo = (video) => { return location.pathname.startsWith('/watch') && (video.closest('ytd-watch-flexy') || video.closest('#ytd-player') || video.classList.contains('html5-main-video')); }; const isTrailer = (el) => { return el.closest('ytd-channel-video-player-renderer') || el.id === 'c4-player' || (el.tagName === 'YTD-PLAYER' && el.getAttribute('context') && el.getAttribute('context').includes('CHANNEL_TRAILER')); }; const killVideo = (video) => { if (!video || video._killed || isMainVideo(video)) return; if (video.src && video.src.startsWith('blob:')) URL.revokeObjectURL(video.src); video.pause(); video.muted = true; video.volume = 0; video.currentTime = 0; video.src = ''; video.removeAttribute('src'); try { video.load(); } catch(e) {} video._killed = true; }; const blockAll = () => { document.querySelectorAll('img[src*="an_webp"], video[src*="an_webp"], img[src*="avif"], video[src*="avif"], img[src*="video-preview"], video[src*="video-preview"]').forEach(el => { if (el.tagName === 'IMG') { el.src = el.src.replace(/an_webp\/[^&]*&/g, '').replace(/avif\/[^&]*&/g, '').replace(/video-preview\/[^&]*&/g, ''); el.srcset = ''; } else if (el.tagName === 'VIDEO') { el.src = el.src.replace(/an_webp\/[^&]*&/g, '').replace(/avif\/[^&]*&/g, '').replace(/video-preview\/[^&]*&/g, ''); el.pause(); el.currentTime = 0; el.removeAttribute('autoplay'); } }); if (!location.pathname.startsWith('/watch')) { document.querySelectorAll('video').forEach(v => { if (isTrailer(v)) killVideo(v); }); document.querySelectorAll('ytd-channel-video-player-renderer, #c4-player, ytd-player').forEach(el => { if (isTrailer(el)) { const vid = el.querySelector('video'); if (vid) killVideo(vid); } }); } }; window.blockAll = blockAll; const blockObserver = new MutationObserver(blockAll); blockObserver.observe(document.documentElement, { childList: true, subtree: true, attributes: true, attributeFilter: ['src', 'srcset', 'class', 'id', 'context'] }); blockAll(); setInterval(blockAll, 500); let lastUrl = location.href; const navObs = new MutationObserver(() => { if (location.href !== lastUrl) { lastUrl = location.href; setTimeout(blockAll, 100); } }); navObs.observe(document, { subtree: true, childList: true }); ['pushState', 'replaceState'].forEach(m => { const orig = history[m]; history[m] = function() { orig.apply(this, arguments); setTimeout(() => { if (location.href !== lastUrl) blockAll(); }, 80); }; }); if (document.readyState === 'loading') { document.addEventListener('DOMContentLoaded', blockAll); } function isPostImage(img) { if (!img || !img.src) return false; if (!img.src.includes('ggpht.com') && !img.src.includes('googleusercontent.com')) return false; const post = img.closest('ytd-backstage-post-renderer'); if (!post) return false; const container = img.closest('#image-container, [id*="image"]'); if (!container) return false; const rect = img.getBoundingClientRect(); if (rect.width <= 50 && rect.height <= 50) return false; if (rect.width >= 1000) return false; if (img.closest('ytd-rich-grid-media, ytd-video-renderer')) return false; return true; } function freezeImage(img) { if (processed.has(img) || !isPostImage(img)) return; if (!img.complete || img.naturalWidth === 0) { img.addEventListener('load', () => createCanvas(img), { once: true }); return; } createCanvas(img); } function createCanvas(img) { if (processed.has(img)) return; const canvas = document.createElement('canvas'); const ctx = canvas.getContext('2d'); const w = img.naturalWidth || 640; const h = img.naturalHeight || 480; if (w === 0 || h === 0) return; canvas.width = w; canvas.height = h; ctx.drawImage(img, 0, 0, w, h); const style = getComputedStyle(img); canvas.style.cssText = img.style.cssText; canvas.style.width = style.width; canvas.style.height = style.height; canvas.style.objectFit = 'cover'; canvas.style.display = 'block'; canvas.style.borderRadius = style.borderRadius; canvas.className = img.className; canvas.alt = img.alt; if (img.parentNode) { img.parentNode.replaceChild(canvas, img); processed.add(img); console.log('%cGIF blocked', 'color:#fff;background:#000;padding:4px 12px;border-radius:6px;font-weight:bold;font-family:monospace;box-shadow:0 0 8px rgba(255,255,255,0.3)', img.src.split('/').pop().split('?')[0]); } } function scan(force = false) { document.querySelectorAll('ytd-backstage-post-renderer img').forEach(img => { if (force || !processed.has(img)) { freezeImage(img); } }); } const observer = new MutationObserver(mutations => { let needsScan = false; for (const m of mutations) { if (m.type === 'childList' && m.addedNodes.length) needsScan = true; if (m.type === 'attributes' && (m.attributeName === 'src' || m.attributeName === 'srcset')) needsScan = true; } if (needsScan) scan(true); }); const startObserver = () => observer.observe(document.body, { childList: true, subtree: true, attributes: true, attributeFilter: ['src', 'srcset'] }); if (document.body) startObserver(); else document.addEventListener('DOMContentLoaded', startObserver); const poll = setInterval(scan, 300); setTimeout(() => clearInterval(poll), 90000); document.addEventListener('click', (e) => { const arrow = e.target.closest('button[aria-label*="next"], button[aria-label*="previous"], [role="button"][aria-label*="slide"]'); if (arrow && arrow.closest('ytd-backstage-post-renderer')) { setTimeout(() => scan(true), 150); } }, { capture: true }); document.addEventListener('wheel', (e) => { const scrollingUp = e.deltaY < 0; if (scrollingUp && window.scrollY < lastScrollY) { setTimeout(() => scan(true), 100); } lastScrollY = window.scrollY; }, { passive: true }); const OrigImage = window.Image; window.Image = function () { const img = new OrigImage(...arguments); if (img.src && (img.src.includes('ggpht.com') || img.src.includes('googleusercontent.com'))) { img.addEventListener('load', () => { if (isPostImage(img)) setTimeout(() => freezeImage(img), 20); }, { once: true }); } return img; }; setTimeout(scan, 400); })(); (function () { function hardKill(video) { if (!video || video._hardKilled) return; video.pause(); video.muted = true; video.volume = 0; try { video.currentTime = 0; } catch(e){} try { video.srcObject = null; } catch(e){} try { video.removeAttribute("src"); } catch(e){} try { video.load(); } catch(e){} video._hardKilled = true; } function isMainPlayer(v) { return !!( v.closest("ytd-watch-flexy") || v.classList.contains("html5-main-video") ); } function scanAllVideos() { if (window.fsPause) return; const vids = document.querySelectorAll("video"); vids.forEach(v => { const r = v.getBoundingClientRect(); const hidden = r.width === 0 || r.height === 0 || v.offsetParent === null; if (hidden || !isMainPlayer(v)) hardKill(v); }); document.querySelectorAll("ytd-player").forEach(p => { const sr = p.shadowRoot; if (!sr) return; sr.querySelectorAll("video").forEach(v => { const r = v.getBoundingClientRect(); const hidden = r.width === 0 || r.height === 0 || v.offsetParent === null; if (hidden || !isMainPlayer(v)) hardKill(v); }); }); } window.scanAllVideos = scanAllVideos; ["AudioContext","webkitAudioContext"].forEach(name => { if (!window[name]) return; const AC = window[name]; if (AC.prototype._patched) return; AC.prototype._patched = true; AC.prototype.createMediaElementSource = function() { return { connect(){}, disconnect(){} }; }; AC.prototype.resume = () => Promise.resolve(); }); new MutationObserver(scanAllVideos) .observe(document.documentElement, { childList: true, subtree: true }); setInterval(scanAllVideos, 300); })(); (function () { let fsPause = false; let fsTimer = null; function pauseBlocking() { fsPause = true; if (fsTimer) clearTimeout(fsTimer); fsTimer = setTimeout(() => fsPause = false, 1000); } document.addEventListener("fullscreenchange", pauseBlocking, true); window.fsPause = fsPause; const origBlockAll = window.blockAll; const origScanAllVideos = window.scanAllVideos; if (origBlockAll) { window.blockAll = function () { if (fsPause) return; return origBlockAll.apply(this, arguments); }; } if (origScanAllVideos) { window.scanAllVideos = function () { if (fsPause) return; return origScanAllVideos.apply(this, arguments); }; } })();