Kako embedati YouTube video, da bo stran XHTML validna
Problem validiranega XHTML embedanja (ne spomnim se lepšega slovenskega izraza) za videe iz YouTube-a vsekakor obstaja, vendar je rešljiv.
YouTube-ova koda za nek video izgleda približno (okej, točno) takole:
<object width="425" height="350"><param name="movie" value="http://www.youtube.com/v/BncO57inCl0"></param><param name="wmode" value="transparent"></param><embed src="http://www.youtube.com/v/BncO57inCl0" type="application/x-shockwave-flash" wmode="transparent" width="425" height="350"></embed></object>
Ta koda vsekakor ni validna, ker je značka (tag) embed nevaliden po XHTML 1.0 specifikaciji.
Tudi sam sem imel problem pri embedanju videa za stran DonCorleone.si, vendar je Google našel nekaj zanimivih rešitev. Po ogledu nekaj zapisov na to temo, sem vseeno imel še nekaj problemov s transparenco, vendar sem kmalu našel rešitev … štos je v tem, da je treba dodati parameter za Flash video transparenco, ki se glasi: <param name="wmode" value="transparent" />, tako potem dobimo kodo s katero bodo naši videi iz YouTube-a XHTML 1.0 Strict validni:
<object type="application/x-shockwave-flash" style="width:425px; height:350px;" data="http://www.youtube.com/v/BncO57inCl0"><param name="movie" value="http://www.youtube.com/v/BncO57inCl0" /><param name="wmode" value="transparent" /></object>
Mislim, da ni treba povdarjati, da URL ki kliče vaš video (http://www.youtube.com/v/nekineki) v obeh primerih v kodi zamenjate s svojim, video izpis pa izgleda takole:
Tadaaaa, stran je validna, sicer imamo na Embriu 1.0 Transitional, vendar dela tudi na Strict
Sedaj mi ne preostane nič drugega, kot da vsem objavljenim videom za nazaj popravim kodo. Veselo na delo
thanks great articles