Iframe 跟踪嵌入的youtube视频视图

Iframe 跟踪嵌入的youtube视频视图,iframe,youtube,google-analytics,Iframe,Youtube,Google Analytics,我在我的网站上嵌入了一些youtube视频。我想用google analytics跟踪每个视频的视图,但我无法捕获任何onClick事件,因为这些视频是使用iFrame嵌入的。如何使用iFrame跟踪嵌入到我网页中的youtube视频的视图?我一直在使用youtube的API跟踪Google Analytics中的播放事件。它在和javascript中的格式相同。如果要跟踪其他函数,请查看iframeapi。这就是我最初得到这个消息的地方 您必须更改下面的视频ID: <div id="pl

我在我的网站上嵌入了一些youtube视频。我想用google analytics跟踪每个视频的视图,但我无法捕获任何onClick事件,因为这些视频是使用iFrame嵌入的。如何使用iFrame跟踪嵌入到我网页中的youtube视频的视图?

我一直在使用youtube的API跟踪Google Analytics中的播放事件。它在和javascript中的格式相同。如果要跟踪其他函数,请查看iframeapi。这就是我最初得到这个消息的地方

您必须更改下面的视频ID

<div id="player"></div>

<script type="text/javascript">
    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: 'fYmrMt01S1U',
            events: {
                'onReady': onPlayerReady,
                'onStateChange': onPlayerStateChange
            }
        });
    }

    function onPlayerReady(event) {
        /// event.target.playVideo(); 
    }

    function onPlayerStateChange(event) {
        if (event.data == YT.PlayerState.PLAYING) {
            _gaq.push(['_trackEvent', 'Videos', 'Play',
            player.getVideoUrl()]);
        }
        if (event.data == YT.PlayerState.PAUSED) {
            _gaq.push(['_trackEvent', 'Videos', 'Paused',
            player.getVideoUrl()]);
        }
        if (event.data == YT.PlayerState.ENDED) {
            _gaq.push(['_trackEvent', 'Videos', 'Watch to End',
            player.getVideoUrl()]);
        }
    }
    // ]]>
</script>

var tag=document.createElement('script');
tag.src=”http://www.youtube.com/player_api";
var firstScriptTag=document.getElementsByTagName('script')[0];
firstScriptTag.parentNode.insertBefore(标记,firstScriptTag);
var播放器;
函数onYouTubePlayerAPIReady(){
player=新的YT.player('player'{
高度:“390”,
宽度:“640”,
videoId:'fYmrMt01S1U',
活动:{
“onReady”:onPlayerReady,
“onStateChange”:onPlayerStateChange
}
});
}
函数onPlayerReady(事件){
///event.target.playVideo();
}
函数onPlayerStateChange(事件){
if(event.data==YT.PlayerState.PLAYING){
_gaq.推送([''U trackEvent'、'视频'、'播放',
player.getVideoUrl());
}
如果(event.data==YT.PlayerState.PAUSED){
_gaq.推送([''U trackEvent'、'视频'、'暂停',
player.getVideoUrl());
}
如果(event.data==YT.PlayerState.end){
_gaq.推送([''U trackEvent'、'视频'、'观看到底',
player.getVideoUrl());
}
}
// ]]>

Hi Jonathan,谢谢你的回复,我实现了上述功能,但最后视频的加载/播放速度非常慢,就像一帧一帧地播放一样。我该怎么解决呢?有什么想法吗?你也面临同样的问题吗?我没有任何问题,但我确实经常在YouTube上遇到加载问题。可能是你把它设置为高清加载?有没有一种方法可以让这个视频在这样一个奇特的盒子里打开:?