Vimeo API:在将侦听器附加到 vimeo 播放器时出现错误 "e.data.split is not a function"

Vimeo API: Getting error "e.data.split is not a function" on attaching listener to vimeo player

初始化 vimeo 播放器上的 'play' 事件后,当我附加侦听器时出现此错误

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

尽管侦听器确实已连接并且随后的播放事件也被它捕获,但为什么它在设置过程中会报错,我该如何解决?

在 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;

之类的字符串类型来修复它