使用IE8的youtube API“视频未定义”

时间:2013-02-06 02:39:44

标签: javascript jquery iframe youtube youtube-api

我使用iframe youtube api处理视频。它适用于chrome和fx,但是当它在IE 8上实现时,它返回错误'video'是未定义的。如何解决问题?感谢

        function loadAPI(){
            var tag = document.createElement('script');
            tag.src = "//www.youtube.com/iframe_api";
            var firstScriptTag = document.getElementsByTagName('script')[0];
            firstScriptTag.parentNode.insertBefore(tag, firstScriptTag);
        }

// add youtube movie 
$(target).append("<iframe class = '" + className + "' id = '" + id + "' src  = '" + src + "?wmode=transparent' ></iframe>");

function bindYouTube() {
    var player;
    player = new YT.Player(currYoutubeID, {
      videoId: currYoutubeLink,
      events: {
        'onStateChange': onPlayerStateChange
      }
    });
}

function onPlayerStateChange (event) {
    if (event.data == 0)                     
        $("#" + event.target.a.id).remove();
}

P.S。我相信我使用的代码不是问题的根源,因为它在chrome和fx上按预期工作。感谢

1 个答案:

答案 0 :(得分:1)

在某些浏览器中,如果隐藏了该元素,则Flash嵌入(嵌入在非HTML5平台上的iframe使用Flash)将不会初始化。不幸的是,很长一段时间都是这样。将嵌入式屏幕定位是一种很好的解决方法。要开始调试,请确保您的元素可见。