"Impossible d'exécuter l'erreur 'postMessage'" de Froogaloop via la directive AngularJS
J'ai écrit un AngularJS directive pour les vidéos vimeo avec construit dans les play/pause fonctionnalités à l'aide de leur froogaloop bibliothèque.
Il fonctionne très bien! Le seul problème est que j'obtiens l'erreur suivante lorsque la page se charge.
Échec de l'exécution de 'postMessage' sur 'DOMWindow': La cible origine fourni ('http://player.vimeo.com') ne correspond pas au destinataire
de la fenêtre de l'origine
Suis-je initialisation de la froogaloop objet mal dans la directive?
Toutes les suggestions sont les plus appréciés.
Vous pouvez le vérifier le plunker ici: http://plnkr.co/edit/GKWNk3LhX0MR3lhpfqyA
source d'informationauteur npatten
Vous devez vous connecter pour publier un commentaire.
Je vous recommande d'exécuter le code dans le
onLoad
cas de<iframe>
. Alors, vous êtes assuré que le code s'exécute lors de l'iframe est prêt pour la réception de messages.Il existe de nombreuses façons de le faire:
$('iframe').load(callback)
ouiframe_element.addEventListener('load', callback)
ouiframe_element.onload = callback
.Où
callback
est la méthode qui utilise Froogaloop.Mais vous devez savoir que certaines de ces solutions peuvent avoir certains inconvénients sur certains vieux/MS navigateurs les navigateurs.
Pour moi, il ressemble à angularjs déclenche Joueur de l'API avant de réellement rendre l'iframe sur la page. Si au moins j'reporter portée.$regarder il fonctionne très bien: