1.Introducere
Am văzut versiunea făcută de Znuff aici, însă pentru anumite site-uri chiar nu merge și m-am gândit să o îmbunătățesc.
Hai să disecăm puțin pluginul, ca să înțelegem de ce trebuie modificat ca să meargă pe toate site-urile care folosesc pluginul Youtube Blocker:
Luăm ca exemplu site-ul voceazilei.ro. Dăm click pe un filmuleț oarecare și ne uităm la sursă:
<div class=”youtubeblocker” data-videoid2=”tNcj-Kb4v9M” data-appid=”632516203476486″ style=”width:640px;height:360px;”>
<div class=”image” style=”background-image: url(‘http://img.youtube.com/vi/tNcj-Kb4v9M/0.jpg’)”></div>
Apoi intrăm pe alt site și repedăm procedeul (vidfun.info)
<div class=”youtubeblocker” data-videoidvid=”y42eQJmGbxk” data-appid=”276584825822513″ style=”width:640px;height:360px;”>
<div class=”image” style=”background-image: url(‘http://img.youtube.com/vi/y42eQJmGbxk/0.jpg’)”></div>
Apoi ne uităm în plugin:
var videoid = o[i].getAttribute(‘data-videoid‘);
Deci, fiecare site a personalizat mizeria de plugin, schimbând id-ul de pe care se face recunoașterea lui.
2. Problema
Nu putem face câte un caz separat pentru fiecare site existent. Ar însemna prea mult cod de scris, prea mult cod inutil. Trebuie să găsim ceva comun.
3. Rezolvare
Background image este o imagine statică, afișată de plugin ca să vă îndemne să dați click pe videoclip. Ea conține și id-ul filmulețului Youtube, ascuns utilizatorului. Ia să extragem noi videoid din background image:
var o = document.getElementsByClassName(‘image’);
for (var i = 0; i < o.length; i++) {
var videoid = o[i].getAttribute(‘style’);
var videoid2=videoid.substring(49,60);
4. Alte probleme
Evident, pluginul îmbunătățit poate întâmpina alte probleme, dacă id-ul “image” este găsit în altă parte, însă, dacă nu doriți să modificați scriptul pentru fiecare site în parte, este cea mai bună soluție.
Mulțumiri lui Znuff pentru codul inițial.
5. Instalare
Dacă ai mozilla firefox, instalează-ți GreaseMonkey și apoi rulează scriptul de aici.
Dacă ai Google Chrome, intră la Tools->Extensions și pur și simplu trage fișierul cu scriptul (downloadat în prealabil) peste extensiile instalate deja. Scriptul nu merge instalat direct, de aceea Google Chrome te va avertiza printr-un popup că nu poți instala extensii de pe victorblog.ro.
6.Concluzii
Cea mai simplă metodă de a scăpa de plugin e să nu intri pe paginile alea. Dar, dacă nu te poți abține și pur și simplu chiar nu vrei să le dai likeul, metoda găsită de Znuff e genială.
[…] notice that websites like voceazilei.ro changed their data attribute; so with the ideas of Victor Badoiu I updated it to 0.3, doing a more aggressive scan for the YouTube video id (using […]