我在使用YouTube IFrame API创建的网页上有一个youtube播放器
当我收到onStateChange
事件时,例如代码示例:
var player;
function onYouTubeIframeAPIReady() {
player = new YT.Player('player', {
height: '390',
width: '640',
videoId: 'M7lc1UVf-VE',
events: {
'onReady': onPlayerReady,
'onStateChange': onPlayerStateChange
}
});
当调用onPlayerStateChange
时,我希望能够区分
player.playVideo()
,player.pauseVideo()
等)目前两者都会产生完全相同的事件。
答案 0 :(得分:2)
我认为您将遇到跨域iframe问题。
正如我在评论中提到的,事件对象中可能会传递一些有用的信息传递给事件监听器。我浏览了至少两个级别,发现用户点击操作和API调用没有区别。但是,对象中有很多信息,可能有助于区分这两个行为。
如果您的代码正在进行API调用,也许您可以通过其他方式进行跟踪。然后您的代码可以判断是否进行了API调用。也许存储当前的调用和时间戳 - 这些都是这样的。
最后,也许还有另一种方法来捕获您所追求的信息。你的问题并没有真正指明最终目标。我建议探索替代方案,因为似乎没有一种简单的解决方案。