Youtube embed code
Long story short, Adrian Boioglu era nemulțumit că youtube nu are povestea cu embed la îndemână, trebuind să facă vreo două-trei click-uri pentru a lua codul respectiv. Prin urmare… Iată o rezolvare relativ simplă: un script greasemonkey.
E făcut în viteză maximă, căci timpul e scurt. Nu detectează dacă un film poate sau nu poate fi embeded. Probleme, sugestii, comentarii?
// ==UserScript==
// @name youtube embed
// @namespace youtube.com
// @include http://www.youtube.com/*
// ==/UserScript==
// author: Ionut Staicu
// author URI: http://www.iamntz.com
function parseURL(url) {
var a = document.createElement('a');
a.href = url;
return {
source: url,
protocol: a.protocol.replace(':',''),
host: a.hostname,
port: a.port,
query: a.search,
params: (function(){
var ret = {},
seg = a.search.replace(/^\?/,'').split('&'),
len = seg.length, i = 0, s;
for (;i<len;i++) {
if (!seg[i]) { continue; }
s = seg[i].split('=');
ret[s[0]] = s[1];
}
return ret;
})(),
file: (a.pathname.match(/\/([^\/?#]+)$/i) || [,''])[1],
hash: a.hash.replace('#',''),
path: a.pathname.replace(/^([^\/])/,'/$1'),
relative: (a.href.match(/tp:\/\/[^\/]+(.+)/) || [,''])[1],
segments: a.pathname.replace(/^\//,'').split('/')
};
}
var current_movie = window.location.href,
url = parseURL(current_movie),
movieTitle = document.getElementById('watch-headline-title').innerHTML,
movieHeight = document.getElementById('movie_player').height;
var embed_code = '<iframe title="'+movieTitle+'" width="640" height="'+movieHeight+'" src="<strong>http://www.youtube.com/embed/'+url.params.v+'</strong>" frameborder="0" allowfullscreen></iframe>';
var embed_pop = document.createElement('div');
embed_pop.style.marginTop = '10px';
embed_pop.style.marginBottom = '10px';
embed_pop.style.border = '1px solid #ccc';
embed_pop.style.background = '#fff';
embed_pop.style.padding = '10px';
embed_pop.innerHTML = embed_code;
document.getElementById('watch-info').appendChild(embed_pop);
- Posted in:
- Internet
- Tags:
- Greasemonkey script,
- Youtube


Poate te ajuta yt:accessControl din API ca sa rezolvi problema cu embed-ul.
ionut, am si eu un cod simplu pentru filme youtube pe care vreau sa il implementez la mine pe blog, insa nu stiu unde sa introduc acest cod pentru ca blogul este pe platforma php si imi cam prin urechile cu php
ideea e ca codul este pentru platforma BBcode , blogul meu este cam pe acelasi sistem, putin diferit dar asemanator.
am incercat sa pun acel cod in index-ul template-ului dar imi da eroare de php
crezi ca ma poti ajuta daca ai timp cumva sa pot implementa acest cod la mine pe blog?
daca crezi ca nu ma poti ajuta gratuit atunci poate imi faci un pret, dar te rog nu exagera
merci si astept raspunsul tau
//edit (un soi de “merge”)
tot nu vrea sa mearga, scuze pentru graselile de ortografie, am tastatura in germana si ma incurca foarte tare
oricum uite un link cu ce vreau sa implementez
Nu trebuie sa parsezi tot html-ul paginii pentru a afla codul embed. Youtube, ca si vimeo sau alti jucatori mari din piata videosharing au implementat oembedul.
http://oembed.com/
Deci tot ce trebuie sa faci este sa faci un request la http://www.youtube.com/oembed?url=URL&format=json si sa parsezi jsonul de acolo.
Asta o sa te ajute si daca o sa vrei mai tarziu de ex sa extinzi scriptul si pentru alte site-uri.
@Dan: wow, habar n-aveam. Mulțumesc, mă ajută foarte mult!