【发布时间】:2011-07-30 05:11:05
【问题描述】:
编程语言: Javascript 和 Youtube Javascript API
问题:
一个网站使用 Javascript API 在其上放置了多个 youtube 视频。用户开始观看视频后立即调用/报告另一个函数。
我目前拥有的代码:
var youTubePlayerLoggers = {};
function onYouTubePlayerReady(playerId) {
var video = document.getElementById(playerId);
youTubePlayerLoggers[playerId] = function (newState) {
if (newState == 1) {
if (video && video.getDuration) {
if (video.getCurrentTime() == 0) {
UserStartedVideo('param1', 'param2');
}
}
}
};
video.addEventListener('onStateChange', 'youTubePlayerLoggers.' + playerId);
video.addEventListener('onError', 'onPlayerError');
}
function UserStartedVideo(param1,param2){
}
在代码的第 5 行中,我正在检查 newState == 1(即用户是否单击了播放按钮)然后是否 video.getCurrentTime ==0 --> 这是用户视频的开始。
我遇到的问题: 我在网站上有多个视频。当我单击第一个视频的播放按钮时,会触发 UserStartedVideo 方法。同样,当我单击第二个视频的播放按钮时,应该立即触发 UserStartedVideo 方法,但它没有发生。
谁能告诉我我在哪里做错了或以其他方式捕捉视频的开头?
【问题讨论】:
-
您找到解决方案了吗?
标签: javascript youtube-api dom-events