Chrome și Opera nu redau aplicația/x-director video (Programare, Html, Google Chrome, Flash, Youtube, Opera)

JenyaKh a intrebat.

Există un site care conține un videoclip youtube încorporat și al cărui cod sursă este

Problema este că Opera și Chrome nu redau acest videoclip arătând ecranul gri care indică faptul că „Acest plug-in nu este acceptat” în loc de videoclip. În același timp, IE și Mozilla Firefox redau videoclipul fără probleme. Am verificat comportamentul videoclipului și al browserelor pe două PC-uri diferite.

  1. Am constatat că aplicația/x-director este un videoclip Adobe Shockwave Player. Așa că am crezut că aceasta este problema. Cu toate acestea, IE și Firefox redau videoclipul fără Shockwave instalat pe PC-ul meu. Am încercat să instalez Shockwave, dar Chrome și Opera nu văd pluginul Shockwave în Chrome://plugins sau Opera://plugins și tot nu redau videoclipul.

  2. Apoi am constatat că atunci când urmăresc videoclipul folosind IE sau Firefox și dau click pe el cu butonul drept al mouse-ului îmi apare meniul unde scrie „About the html5 player” și când intru pe pagină ajung la pagina youtube care explică html5 și verifică dacă browserul meu suportă html5 (browserele mele sunt la zi și îl suportă).

    Am găsit și întrebarea din SO Embedding a shockwave file in HTML5 unde mi se spune că sintaxa videoclipului meu este cea din HTML5-sintaxa:

  • Deci, nu pot înțelege dacă videoclipul meu este un video Shockwave sau un video HTML5? Și cum pot face ca Chrome și Opera să îl redea corect?
  • După cum văd, acest cod sursă nu poate fi redat de multe browsere în mod implicit. Care este cel mai bun mod de a insera un videoclip youtube într-o pagină de site pentru ca acesta să fie redat corect de majoritatea browserelor? (din câte am înțeles, ar trebui să fie un video html5, deoarece multe browsere tind să nu mai suporte produsele Adobe Flash)?

Aș fi foarte recunoscător pentru orice ajutor. Vă mulțumesc pentru atenție!

1 răspunsuri
VC.One

Care este cea mai bună metodă de a insera un video youtube într-o pagină de site pentru ca acesta să fie redat corect de majoritatea browserelor?

Majoritatea browserelor se așteaptă ca un fișier video să fie pus într-un tag video. Din moment ce folosești Youtube, ai un link de pagină (http) nu un fișier video (mp4), deci trebuie să încarci pagina în cadrul unui i-frame. Când serverele Youtube văd cererea, vor returna un player video pentru acel link…

Înlocuiți pagina afișată <object>-cu următorul bloc de cod <iframe> versiunea…

<iframe width="300" height="200"
src="https://www.youtube.com/embed/G7S5GEp****">
</iframe>

De asemenea, în ceea ce privește…

  • application/x-director este o mică greșeală din partea lor, ar trebui să fieapplication/x-shockwave.
    Este mică pentru că nu oprește funcționarea mașinii…

  • <object> tag-ul NU este pentru încorporarea de link-uri http. Pentru a încorpora aplicații Flash, puneți un link către fișierul SWF (ieșire din Flash) ca sursă de intrare. De exemplu : Dacă aplicațiile Android ar putea fi încorporate în browser, și acestea ar intra în <object> unde data="mysite/myapp.APK"...etc

  • Folosind youtube.com/embed/ oferă un HTML5-(pentru <iframe> ),

  • Folosind youtube.com/v/ oferă un player Flash-(pentru <object> tag).

  • De asemenea, pentru Flash, setarea width="300" height="200" este prea mică pentru o intrare venită de pe un alt server, va fi blocată în special de Chrome, deoarece observă că este o dimensiune de banner (reclamele Flash sunt blocate automat). Trebuie să aibă o dimensiune minimă width="800" height="600" altfel, singura soluție aici este ca aplicația Youtube SWF (sau orice alt SWF) să existe în același folder cu fișierele html pe propriul server.

Comentarii

  • Vă mulțumesc foarte mult pentru atâtea informații utile! Deci, concluzionez corect că Chrome și Opera nu redau videoclipul pentru că html-ul este pur și simplu greșit (tag-ul object este folosit în loc de iframe)? Dar Firefox și IE, de ce nu se strică cu această încorporare greșită a linkului youtube? –  > Por JenyaKh.