Créer des URL youtube.com/embed sur iOS

Pour une video donnée sur YouTube, vous pouvez visiter http://youtube.com/watch?v=[code] sur n'importe quel appareil iOS pour voir la video.

Cependant, si vous utilisez l'URL http://youtube.com/embed/[code] – par exemple, dans une iframe sur une page ou dans un modal Colorbox – il ne sera pas lu sur iOS.

Par exemple, si vous utilisez du code comme ceci:

<iframe class="youtube-player" type="text/html" width="640" height="385" src="http://www.youtube.com/embed/VIDEO_ID" frameborder="0"> 

Vous venez de voir une erreur:

Votre browser ne reconnaît actuellement aucun des formats video disponibles. Cliquez ici pour visiter notre foire aux questions sur la video HTML5.

Pour append une insulte à une blessure, le lien n'est pas cliquable sur iOS, donc je ne sais pas à quelle page il faut aller. Il y a une page HTML5 sur YouTube , mais elle ne dit rien d'particulièrement utile ou surprenant.

Y a-t-il une syntaxe qui peut être pour l'incorporation d'iframe qui fonctionne comme prévu sur iOS?

Essayez ceci, ça marche juste:

 <object> <param name="movie" value="http://www.youtube.com/v/[VIDEO_ID]"></param> <embed src="http://www.youtube.com/v/[VIDEO_ID]" type="application/x-shockwave-flash"></embed> </object> 

Edit : Cela fonctionne parce qu'Apple remplace la balise html par un lecteur de film natif embedded qui peut lire la video YouTube.

Envisagez d'utiliser MediaElement.js . Il peut envelopper les videos youtube pour l'affichage comme html5 sur ios, avec flash fallback pour les autres types de périphériques / browsers.

L'une des démos fournies avec la source le montre, et c'est assez simple:

 <video width="640" height="360" id="player1"> <source type="video/youtube" src="http://www.youtube.com/watch?v=nOEw9iiopwI" /> </video> <script> $('video').mediaelementplayer({ success: function(media, node, player) { $('#' + node.id + '-mode').html('mode: ' + media.pluginType); } }); </script>