尝试通过fancybox 3获取YouTube播放器ID

时间:2018-07-14 17:25:36

标签: javascript jquery youtube-api fancybox fancybox-3

我正在使用fancybox v3.3.5在灯箱中显示YouTube视频。播放完视频后,我想使用YouTube API在视频播放完后接收回调。 YouTube API需要播放器ID 。我是使用iframe的新手,但似乎带ID的元素位于我文档上分层的文档中。在这种情况下,我无法使用document.querySelector('')之类的东西来抓取它。

console.log($.fancybox.getInstance());记录了一个非常大的对象,尽管我还没有找到它,但我认为带有玩家ID的特定div可能会驻留在这里。

当视频以YouTube API和fancybox结尾时,谷歌搜索中将出现一些小技巧,以实现如何获得回调,但是它们使用了我不赞成使用的较旧版本的fancybox。

这是我所关注的div的图像以及getInstance()对象。

div that contains the ID
getInstance() object

HTML:

<a class="fancy" data-fancybox data-width="640" data-height="360" href="https://youtube.com/watch?v=6kkW6qK0GCs&amp;autoplay=0">
  <div class="tutorial">See how it works
    <i class="play circle icon play-button"></i>
    <br>
  </div>
</a>
<script src="https://cdnjs.cloudflare.com/ajax/libs/fancybox/3.3.5/jquery.fancybox.min.js"></script>

1 个答案:

答案 0 :(得分:0)

是这样的:

$.fancybox.getInstance().current.$content.find('iframe').attr('id')