Intégration de vidéo Youtube à l'aide d'une iframe donne “Dangereux JavaScript tentative ... ”
Je suis en train d'intégrer une vidéo YouTube avec ce code:
<iframe width="425" height="319" frameborder="0" wmode="Opaque"allowfullscreen=""
src="http://www.youtube.com/embed/8vJwFvFi4ZY?wmode=transparent">
</iframe>
et même si elle fonctionne bien, mais il donne à cette erreur dans la console:
Version de Chrome 22.0.1229.94:
Dangereux JavaScript tentative d'accès à une image avec l'URL http://example.com/
à partir de l'image avec l'URL http://www.youtube.com/embed/8vJwFvFi4ZY?wmode=transparent.
Les domaines, les protocoles et les ports doivent correspondre.Version de Firefox 17.0:
Erreur: Permission denied pour accéder à la propriété "toString'
J'ai cherché partout mais j'ai trouvé que c'est probablement un YouTube question et qu'ils doivent résoudre,
La question est: comment puis-je me débarrasser de cette erreur? (par tous les moyens, même par la suppression de.)
Aussi ne pouvait pas s'empêcher de remarquer que vous avez wmode=opaque dans l'iframe et wmode=transparent dans l'URL.
J'ai lu de nombreux avis d'pourquoi ce qui se passe, et beaucoup disent que c'est parce que le chargé de Youtube Api à l'intérieur de l'iframe tente d'accéder à un élément parent, qui à l'encontre des normes de sécurité, et il est déjà signalé comme un bug, mais ce que je crains plus ici, est de savoir comment arrêter cette erreur qui s'affiche dans la console, et pas seulement en attente de Youtube développeurs à résoudre. Et concernant le wmode, je n'avais pas remarqué 🙂 , merci
Je suggère (deviné) la solution est dans la dernière ligne de mon commentaire - intégrer tous les paramètres requis par youtube dans la chaîne de requête URL - il a être vaut la peine d'essayer.
Je l'ai essayé, mais n'ont toujours l'erreur
OriginalL'auteur AbdelHady | 2012-11-29
Vous devez vous connecter pour publier un commentaire.
Vous ne pouvez pas l'arrêter, au moins pas de toute manière, je sais (et j'en ai essayé beaucoup). Il y a un script dans l'iframe de destination qui tente d'accéder à votre document, probablement à la recherche pour les fonctions globales et fait appel, pour permettre à l'API.
Une autre chose est que l'erreur persiste, même lors de l'utilisation de leur propre iframe API: http://jsbin.com/izabed/1/edit
Il n'y a pas de mal à cela, votre vidéo sera beau travail. Mais il semble que le type de gras si vous le lancer dans une console. Ils devraient probablement inclure ce que d'un paramètre, et j'ai d'abord cru que c'était l'idée de la
origin
paramètre, mais il ne fait aucune différence.Il est également intéressant de noter que leur propre démo affiche le même message d'erreur (et d'autres). Aussi, si vous utilisez le
embed
tag au lieu de iframe, il l'habitude d'afficher toutes les erreurs.De sorte que vous pourriez faire quelque chose comme cela pour éviter l'erreur dans la plupart des navigateurs de bureau:
+1 pour la ligne "Vous ne pouvez pas l'arrêter".C'est absolument réponse directe au lieu d'écrire sur la Croix domaine de la sécurité, etc
Génial! Merci!!!!
OriginalL'auteur David Hellsing
De déplacer la discussion dans les commentaires de cette réponse.
En bref, le problème, c'est que la croix de domaine JS objet l'accès n'est pas autorisé, qui, dans votre cas, un script à youtube.com essaie de faire pour la page parent.
Si vous ne voulez afficher la vidéo youtube, vous pouvez utiliser
<embed>
tag à la place.OriginalL'auteur user1803112
Juste ajouter
?html5=1
pour éviter cette erreur. (Swich pour lecteur HTML5)OriginalL'auteur Kārlis Millers
Ce navigateur est-il ?
Lorsque j'essaie d'ajouter un iframe à l'aide de JavaScript dans Firefox dans cette page, l'erreur/d'avertissement ne s'affiche pas.
Le src de l'iframe j'ai ajouté est le même que dans votre exemple. En outre, les iframes sont autorisés à être de différents domaines. Pouvez-vous essayer ce morceau de code :
var iframe = document.createElement('iframe'); iframe.setAttribute('src' , 'http://www.youtube.com/embed/8vJwFvFi4ZY?wmode=transparent'); document.body.appendChild(iframe);
et voir si l'erreur vient toujours ?oui, il vient toujours dans la console de firefox & chrome, même en mettant le code dans une partie vide de la page html contenant uniquement ce code ou seulement la question de l'iframe
en passant, je havn't écrit le firefox erreur de l'avant parce qu'il n'était pas assez clair comme le chrome, l'erreur de firefox est: "Erreur: accès refusé d'accéder à la propriété "toString'"
Pourquoi essayez-vous de le faire via iframe, et non pas d'un <embed> tag ?
OriginalL'auteur user1803112
Pourquoi utiliser Javascript lorsque vous ne pouvez utiliser les CSS? Il travaille tout.unique.temps. Vous pouvez même intégrer une vidéo dans un responsive curseur.
OU tout simplement visiter: http://embedresponsively.com/
Eh bien, pas de javascript, pas de gestion des erreurs 😉
Je n'ai pas utiliser de javascript pour le chargement de la vidéo en premier lieu, j'ai simplement utilisé l'iframe, tout comme vous, mais l'erreur s'affiche à partir du code chargé à l'intérieur de l'iframe, pas le mien
OriginalL'auteur Bic Mitchun