Fallbacks for Videos-as-Images

Avatar of Chris Coyier
Chris Coyier am

DigitalOcean bietet Cloud-Produkte für jede Phase Ihrer Reise. Starten Sie mit 200 $ kostenlosem Guthaben!

Safari 11.1 brachte ein seltsames, aber sehr nützliches Feature: die Möglichkeit, eine Videoquelle im <img>-Tag zu verwenden. Die Idee ist, dass es die gleiche Funktion wie ein GIF erfüllt (stumm, automatisch abspielend, wiederholend), aber mit großen Leistungsvorteilen. Wie groß? „20x schneller und 7x schneller zu dekodieren als das GIF-Äquivalent“, sagt Colin Bendell.

Nicht alle Browser unterstützen dies, daher ist das <picture>-Element bereit für ein Fallback. Bruce Lawson zeigt, wie einfach das sein kann.

<picture>
  <source type="video/mp4" srcset="adorable-cat.mp4">
  <!-- perhaps even an animated WebP fallback here as well -->
  <img src="adorable-cat.gif" alt="adorable cat tears throat out of owner and eats his eyeballs">
</picture>

Šime Vidas merkt an, dass Sie eine breitere Browserunterstützung erhalten, wenn Sie den <video>-Tag verwenden.

<video src="https://media.giphy.com/media/klIaoXlnH9TMY/giphy.mp4" muted autoplay loop playsinline></video>

Aber wie Bendell bemerkte, sind die Leistungsvorteile bei Videos nicht vorhanden, insbesondere die Tatsache, dass Videos nicht vom Preloader unterstützt werden. Leider ist es vorerst doch der <video>-Tag, da

es diesen nervigen WebKit-Bug in Safari gibt, der den Preloader veranlasst, die erste <source> unabhängig von der MIME-Typ-Deklaration herunterzuladen. Der Haupt-DOM-Loader erkennt den Fehler und wählt die richtige aus. Der Schaden ist jedoch bereits angerichtet. Der Preloader verschenkt seine Chance, das Bild frühzeitig herunterzuladen, und lädt obendrein die falsche Version herunter, was Bytes verschwendet. Die gute Nachricht ist, dass ich diesen Bug behoben habe und er in Safari TP 45 enthalten sein sollte.

Kurz gesagt, die Verwendung von <picture> und <source type> zur Auswahl des MIME-Typs ist nicht ratsam, bis die nächste Version von Safari über 90 % der Benutzerbasis erreicht.

Dennoch wird es schließlich sehr nützlich sein.