Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/api/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript IE7和IE8中的YouTube API回调_Javascript_Api_Youtube_Youtube Api_Youtube Javascript Api - Fatal编程技术网

Javascript IE7和IE8中的YouTube API回调

Javascript IE7和IE8中的YouTube API回调,javascript,api,youtube,youtube-api,youtube-javascript-api,Javascript,Api,Youtube,Youtube Api,Youtube Javascript Api,我很难让API在IE7和IE8中工作。需要简单的暂停/停止检测 即使此演示页面也有IE8错误,并且回调事件失败: 有人有办法吗 使用适用于其他浏览器的此选项: player = new YT.Player('youTubePlayer' + i, { height: height, width: width, videoId: getYouTubeID(src), enablejsapi : 1, events: { 'onReady':

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

即使此演示页面也有IE8错误,并且回调事件失败:

有人有办法吗

使用适用于其他浏览器的此选项:

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


Youtube Iframe API与IE7不兼容,因为该浏览器不支持
postMessage
功能。你只需要使用AS3嵌入,虽然我也不知道我在那个篮子里放了很多鸡蛋。。。考虑到谷歌承诺只支持浏览器的最新两个版本(从技术上讲是IE9和IE10,尽管随着Windows XP很快达到EOL,但Windows 8的采用速度非常慢,我们很有兴趣看看IE8会发生什么。),随着技术和API的发展,此类问题将继续出现


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

我可以设置一个超时,并在加载库后手动调用IE8的回调函数details(因为库回调失败),这就解决了IE8问题。
function onPlayerStateChange(evt) {
    if (evt.data == YT.PlayerState.PAUSED) {
    }
    if (evt.data == YT.PlayerState.ENDED) {
    }
    if (evt.data == YT.PlayerState.PLAYING) {
    }
}