我正在使用Vimeo player的JavaScript API在用户点击网站上的特定按钮时启动视频。
下面是嵌入式代码:
<iframe id="vimeo-player" src="<?php the_sub_field('slide_video'); ?>?title=0&byline=0&portrait=0" width="1880" height="1058" frameborder="0" ></iframe>
这是 JavaScript:
var iframe = document.querySelector('#vimeo-player');
var player = new Vimeo.Player(iframe);
$('.slide-area__slides__video svg').click(function(){
$(this).hide();
$(this).closest('.item').find('img').hide();
$(this).siblings('iframe').show();
player.play();
});
player.on('ended', function(data) {
$('.slide-area__slides__video svg').show();
$('.slide-area__slides__video iframe').hide();
$('.slider-area__slides .item img').show();
});
它在Chrome中运行良好,但在所有其他浏览器中,它只是不断抛出错误:
传递的播放器元素不是 Vimeo 嵌入的。
以前有人遇到过这种情况吗?这是非常令人沮丧的。
查看播放器.js,似乎在以下情况下显示错误:
if (element.nodeName === 'IFRAME' && !isVimeoUrl(element.getAttribute('src') || '') {...}
确保the_sub_field('slide_video') 输出有效的 Vimeo URL。