IE7和IE8中的YouTube API回调

时间:2013-04-10 03:08:03

标签: javascript api youtube youtube-api youtube-javascript-api

我很难让API在IE7和IE8中运行。需要简单的暂停/停止检测。

即使这个演示页面也有IE8错误,回调事件也会失败: https://developers.google.com/youtube/youtube_player_demo

任何人都有解决这个问题的方法吗?

使用适用于其他浏览器的内容:

player = new YT.Player('youTubePlayer' + i, {
    height: height,
    width: width,
    videoId: getYouTubeID(src),
    enablejsapi : 1,
    events: {
        'onReady': onPlayerReady,
        'onStateChange': onPlayerStateChange,
    },
    playerVars: {
        controls: 1,
        showinfo: 0 ,
        modestbranding: 1,
        wmode: "opaque"
    }
});

function onPlayerStateChange(evt) {
    if (evt.data == YT.PlayerState.PAUSED) {
    }
    if (evt.data == YT.PlayerState.ENDED) {
    }
    if (evt.data == YT.PlayerState.PLAYING) {
    }
}

1 个答案:

答案 0 :(得分:0)

Youtube Iframe API与IE7不兼容,因为该浏览器不支持postMessage功能。你只剩下使用AS3嵌入了,虽然我不知道我会在那个篮子里放很多鸡蛋,或者......鉴于Google承诺只支持最新的两个版本的浏览器(技术上将是IE9和10,虽然看到IE8会发生什么事情会很有趣,因为Windows XP很快就会达到EOL但Windows 8的采用速度很慢),这样的问题将继续作为技术和API出现演变。

一般来说,只要你处于标准模式,IE8就可以正常工作;演示页面不会给我带来任何错误(但是当我切换到兼容性或怪癖模式时)。您是否在开发人员工具控制台中收到任何错误? (也就是说,回调失败的意思是什么?)