javascript - Youtube 视频事件未触发 [在本地或其他地方进行测试时]?

标签 javascript youtube

我有以下代码,几乎直接取自 API,但事件没有触发。有任何想法吗?谢谢。

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: '250',
      width: '300',
      videoId: 'u1zgFlCw8Aw',
      events: {
        'onReady': onPlayerReady,
        'onStateChange': onPlayerStateChange
      }
    });
  }

  function onPlayerReady(event) {
    alert("Ready");
    event.target.playVideo();
  }

  function onPlayerStateChange(event) {

      alert("State Changed");

  }

回答:原来是因为我在本地测试,doh!但请参阅下文了解其他可能的原因。

最佳答案

尝试使用下面的代码,非常适合我

<div id="player"></div>
<script>
//Load player api asynchronously.
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: '390',
      width: '640',
      videoId: 'JW5meKfy3fY',
      playerVars:{'autoplay':1, 'rel':0, 'showinfo':0, 'egm':0, 'showsearch':0,},
      events: {
        'onReady': onPlayerReady,
        'onStateChange': onPlayerStateChange
      }
    });
}
function onPlayerReady(event) {
    event.target.playVideo();
}
function onPlayerStateChange(event,element) {
    //When the video has ended
    if (event.data == YT.PlayerState.ENDED) {
        //Get rid of the player
        element.style.display = "none";
    }
}

关于javascript - Youtube 视频事件未触发 [在本地或其他地方进行测试时]?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9583436/

相关文章:

html - 如何更改YouTube订阅小部件的显示属性?

javascript - 为什么 HTML5 模式属性中密码的有效正则表达式不起作用?

javascript - JQUERY AJAX 加载文本框焦点

javascript - javascript中如何从url获取文件数据

javascript - console.log 格式化错误对象与 Error.prototype.toString 不同

iphone - 如何在浏览器中启动 YouTube 视频而不点击播放图标

android - 如何解决 Google Play 商店应用提交中的设备和网络滥用政策问题

YouTube Nerd 统计数据 : What does the (137/140) behind "DASH: yes" stand for?

javascript - Sort(a,b) 在 Dojo.dnd.source 中不起作用

iphone - Youtube 嵌入 html for uiwebview 不工作(在 iOS 4.2 iPhone 3G 上)