J'ai cette page Web:
http://healthpad.net/dashboard/
Il a 10 <video>
éléments dessus.
Pour une raison quelconque, lorsque je charge la page sur un iPad, elle ne montre pas les affiches vidéo.
Essayez ce qui suit:
s'il vous plaît dites-moi pourquoi cela se produit?
Voici ce que j'ai déjà exclu:
En-tête de type de contenu d'image.
J'ai validé que l'en-tête de type de contenu d'image est correctement défini. Dans l'exemple ci-dessus, le Content-Type
l'en-tête correctement image/jpeg
.
Interférence avec la bibliothèque video.js
VideoJs est utilisé pour montrer ce bouton Nice play sur les navigateurs de bureau et pour personnaliser les commandes. Cette bibliothèque n'interfère cependant pas avec le lecteur natif.
Juste pour être sûr, j'ai créé une page de vidéo de test qui n'a pas la classe video-js, donc la bibliothèque ne récupère pas et ne traite pas cette vidéo. En fait, la page de test ne comprend même aucune bibliothèque JS, c'est juste
<html><body>
<video
controls
height="400"
width="600"
poster="http://healthpad.net/media/CACHE/images/uploads/video_poster_1414/bd5fba5a68ddd0f4b3f61193f6908962.jpg"
src="http://healthpad.net/media/uploads/video_processed_720p_1414.mp4"
></video>
</body></html>
http://healthpad.net/rj_templates/test/zzz/
Utilisation de tout attribut vidéo non pris en charge sur Mobile Safari
La page de test ci-dessus a juste une balise vidéo simple. J'ai essayé de supprimer tous les autres attributs à l'exception de src
et poster
, cela n'a pas aidé.
La plupart des questions StackOverflow sur le sujet disent simplement "Redémarrez votre iPad"
Voici où ça devient bizarre:
Si vous faites une recherche sur Google à ce sujet, les réponses sur StackOverflow qui ont été acceptées disent souvent "Redémarrez votre iPad, c'est fait pour moi".
J'ai donc essayé de faire la même chose, au début, je viens de dire que cela ne fonctionne pas dans mon cas.
Ensuite, j'ai essayé ceci:
(tous les éléments suivants sur le simulateur iPad)
Donc apparemment, à un moment donné, Mobile Safari décide qu'il ne montrera plus aucune affiche vidéo . Aussi, apparemment, mon site déclenche cette condition.
Clarifications:
Lorsque les affiches ne fonctionnent plus, cela ne se produit pas uniquement sur un domaine, aucune affiche vidéo ne sera chargée pour un autre site, qu'il s'agisse ou non d'un domaine totalement différent (par exemple, la vidéo de démonstration de http://www.videojs.com/ ).
Pour réinitialiser ce comportement, d'après ce que j'ai vu, vous devez tuer et redémarrer Safari. La fermeture et la réouverture ne réinitialise pas cet état.
Quelqu'un sait-il pourquoi cela se produit? Existe-t-il un moyen de contourner ce problème?
Je l'ai fait fonctionner en utilisant un PNG au lieu d'un JPG.
Chose étrange, le JPG fonctionnait dans iOS Safari localement (via un serveur POW sur le wifi local) mais lorsqu'il était poussé à mettre en scène l'image de l'affiche ne se chargeait pas. Le code local et le code intermédiaire faisaient référence au même fichier sur S3.
Changé le format de fichier en PNG et il se charge bien.
Je vois que la question continue de faire l'objet d'un vote de temps en temps, mais il n'y a pas de réponse. Voici donc ce que j'ai fini par faire:
Sur iOS, au lieu d'afficher le lecteur vidéo (même avec autoload=false
), Je vais juste montrer l'affiche et un bouton de lecture, deux autonomes <img>
Mots clés. Quand ils sont cliqués, je crée le lecteur vidéo à partir de javascript et lui dis de jouer. Fonctionne bien, les utilisateurs ne voient pas beaucoup de différence.
Dans les paramètres de Safari [iOS7], les fenêtres pop-up bloquées désactivées semblaient résoudre ce problème pour moi, j'espère que cela vous aidera.