2010-11-21 4 views
1

Ich mache nur Video auf meiner Website HTML5 für tragbare iOS-Geräte und eine Sache, die ich renne ist, dass ich den Client haben möchte Browser Versuchen Sie zuerst den Flash Player, da dieser anpassbarer ist. Wenn Flash nicht verfügbar ist, versuchen Sie HTML5.Code, um Browser zu haben, wählen Flash Player zuerst, dann fallen zurück zu HTML5 Video

Ich hatte gedacht, dass vielleicht die Reihenfolge in der Video-Tag es tun würde, aber es geht immer zu HTML5 unabhängig von der Reihenfolge der Tags.

Zum Beispiel:

<video width="640" height="360" controls> 
    <object width="640" height="360"><embed src="flashplayer.swf?movie=movie.mp4" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="640" height="360"></embed></object> 
    <source src="/video/ogg/movie.ogg" type="video/ogg"> 
    <source src="/video/mp4/movie.mp4" type="video/mp4"> 
</video> 

Jede Hilfe würde geschätzt, danke.

Antwort

5

Sie können SwfObject verwenden, um Flash zu erkennen, und das Videoelement in das div einfügen, das SwfObject ersetzt, wenn Flash verfügbar ist.

+1

Gibt es eine Möglichkeit, dies mit JavaScript zu tun? Ich möchte das SwfObject nicht verwenden. – Tom

+2

Ja, Sie können die gleichen Dinge tun, die SwfObject in Ihrem eigenen JavaScript tut, wenn Sie bevorzugen (da SwfObject JavaScript ist). Vor SwfObject war es üblich, die Flash-Erkennung in eigenen Skripten durchzuführen, aber da SwfObject sehr unordentlich ist und SwfObject es gut macht, ist SwfObject mehr oder weniger zum De-facto-Standard dafür geworden. –

+0

Ok cool, danke. Ich hatte gehofft, dass es etwas Einzeiliges oder ähnliches gab, da ich diesen Code in einem phpBB-Forum verwenden wollte und nicht alle Themen ändern musste, um einen Verweis auf das SWFO-Objekt aufzunehmen, aber das klingt nicht so möglich. – Tom

1

Sie könnten versuchen, die HTML 5 video player widget, die auf der Open Source-Bibliothek Kaltura basiert. Damit können Sie sowohl den HTML 5 als auch den Flash Video Player anpassen.

+0

Interessant, aber ich bin auf der Suche nach etwas Ultraleicht, wie es möglicherweise nur mit HTML-Tags tun, oder wenn ich eine einfache "Wenn" -Anweisung mit JavaScript haben. – Tom

+0

Wenn Sie Flash zeigen möchten, wenn der Benutzer es hat, benötigen Sie eine Möglichkeit, es zu erkennen. Ich denke, normalerweise geschieht die Erkennung, indem man versucht, eine SWF zu starten und die Ergebnisse zu sehen. Wenn Sie nicht alle Anpassungen vornehmen möchten, berücksichtigen Sie SwfObject, das von @Lars vorgeschlagen wird. – martineno

2

es ohne Javascript zu tun, ich denke, könnte man den <video>-Tag in den <object>/<embed> setzt als Rückfall zu handeln, wenn der Browser das Objekt nicht ausführen kann, dh die Plugin Flash-Player ist nicht verfügbar:

<object width="640" height="360"> 
    <embed src="flashplayer.swf?movie=movie.mp4" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="640" height="360"> 
     <video width="640" height="360" controls> 
      <source src="/video/ogg/movie.ogg" type="video/ogg"> 
      <source src="/video/mp4/movie.mp4" type="video/mp4"> 
     </video> 
    </embed> 
</object> 

Hinweis dass Sie es mit einem reinen <object> Tag tun können, keine Notwendigkeit für <embed> in den meisten modernen Browsern, AFAIK.

+0

Ich könnte von meinem Rocker abweichen, aber ich bin mir ziemlich sicher, dass dies der sauberste Weg ist, dies zu tun. :) – farina

+0

Ich mag diese Lösung wirklich. Schön. –

Verwandte Themen