jquery 传递的播放器元素不是Vimeo嵌入,Player JS

um6iljoc  于 2023-11-17  发布在  jQuery
关注(0)|答案(2)|浏览(105)

我正在使用Vimeo播放器的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嵌入。
以前有人遇到过这种情况吗?这很令人沮丧。

xqk2d5yq

xqk2d5yq1#

查看player.js,似乎在以下情况下会显示错误:

if (element.nodeName === 'IFRAME' && !isVimeoUrl(element.getAttribute('src') || '') {...}

字符串
确保_sub_field('slide_video')输出有效的Vimeo URL。

kognpnkq

kognpnkq2#

正如NYCjbd在之前的评论中所说,我的问题与延迟加载有关。关闭iframe解决了这个问题。非常感谢。

相关问题