如何在Chrome和Firefox中使用YouTube iFrame API?

如何在Chrome和Firefox中使用YouTube iFrame API?,firefox,iframe,google-chrome,youtube,youtube-api,Firefox,Iframe,Google Chrome,Youtube,Youtube Api,我有一个YouTube视频。我想使用暂停视频,但在Chrome中出现错误: Unsafe JavaScript attempt to access frame with URL http://subdomain.example.com/ from frame with URL http://www.youtube.com/embed/KmtzQCSh6xk?enablejsapi=1&origin=http://subdomain.example.com. Domains, protoc

我有一个YouTube视频。我想使用暂停视频,但在Chrome中出现错误:

Unsafe JavaScript attempt to access frame with URL http://subdomain.example.com/ from frame with URL http://www.youtube.com/embed/KmtzQCSh6xk?enablejsapi=1&origin=http://subdomain.example.com. Domains, protocols and ports must match.
在Firefox(3.6)中,我遇到以下错误:

Permission denied for <http://www.youtube.com> to call method Location.toString on <http://subdomain.example.com>.
对调用方法Location.toString的权限被拒绝。
我试着将iFrame放在自己的内存中,或者用API添加它。无论哪种方式,玩家都可以进入,但我无法控制它

以下是我代码的相关部分:

<div id="player"></div>

<script type="text/javascript">
var tag = document.createElement('script');
tag.src = "http://www.youtube.com/player_api";
var firstScriptTag = document.getElementsByTagName('script')[0];
firstScriptTag.parentNode.insertBefore(tag, firstScriptTag);

var player;
function onYouTubePlayerAPIReady() {
    player = new YT.Player('player', {
        height: '433',
        width: '731',
        videoId: 'KmtzQCSh6xk'
      });
}

$("#pause_button").click(function(){
  alert("Pausing " + player);//is undefined :(
  player.pauseVideo();
});

</script>

var tag=document.createElement('script');
tag.src=”http://www.youtube.com/player_api";
var firstScriptTag=document.getElementsByTagName('script')[0];
firstScriptTag.parentNode.insertBefore(标记,firstScriptTag);
var播放器;
函数onYouTubePlayerAPIReady(){
player=新的YT.player('player'{
高度:'433',
宽度:“731”,
videoId:'KmtzQCSh6xk'
});
}
$(“#暂停按钮”)。单击(函数(){
警报(“暂停”+玩家);//未定义:(
player.pauseVideo();
});
如何让浏览器允许YouTube iFrame访问我页面的主框架

谢谢

  • 忽略这些警告。不管怎样,玩家仍然可以正常工作

  • 使用最近引入的


  • 我在使用iframe嵌入的JavaScript播放器API时仍然会遇到错误,我甚至在他们的浏览器上尝试了他们的代码。