0

我已经使用 iframe youtube api 来处理视频。它在 chrome 和 fx 上运行良好,但在 IE 8 上实现时,它返回的“视频”错误未定义。如何解决问题?谢谢

        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();
}

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

4

1 回答 1

1

在某些浏览器中,如果元素被隐藏,Flash 嵌入(Flash 由非 HTML5 平台上的 iframe 嵌入使用)将不会初始化。不幸的是,这种情况已经很久了。将嵌入放置在屏幕外是绕过它的好方法。要开始调试,请确保您的元素是可见的。

于 2013-02-08T21:57:21.640 回答