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>