Vimeo API:在将侦听器附加到vimeo播放器时出现错误“e.data.split不是函数”

时间:2017-12-01 10:31:44

标签: vimeo-api

我在初始化后在vimeo播放器上将监听器附加到'play'事件时出现此错误

player = new Vimeo.Player(vimeo_iframe_id);
player.on('play', function() { // gives error e.data.split is not a function
    isVimeoPlaying = true;
});

虽然听众确实被附加并且后续的播放事件被它捕获但是为什么它在设置期间抱怨并且我该如何解决?

1 个答案:

答案 0 :(得分:0)

在vimeo github https://github.com/vimeo/player.js/issues/191发布此问题后,看到Matt Fisher的(@fisherinnovation)回复,我意识到这是因为我自己的代码中有一个监听器来处理PostMessages

window.addEventListener('message', function (e) {
 var action = e.data.split(':')[0];
...})

通过检查字符串类型var action = typeof e.data === 'string' ? e.data.split(':')[0] : null;

来修复它