jquery - 当全屏模式打开时,如何在 Youtube Iframe 上添加覆盖 div?

标签 jquery html css meteor-blaze youtube-iframe-api

我正在使用 Meteor 框架和 Blaze 模板。 下面是我创建一个新的 youtube 对象并将其注入(inject)到 dom 中的地方。

    self.autorun(() => {
      let tag = document.createElement("script");
      tag.src = "https://www.youtube.com/iframe_api";
      let firstScriptTag = document.getElementsByTagName("script")[0];
      firstScriptTag.parentNode.insertBefore(tag, firstScriptTag);
      window.onYouTubeIframeAPIReady = function() {
        window.player = new YT.Player("" + index + "player", {
          height: "100%",
          width: "100%",
          videoId: data,
          playerVars: { wmode: "opaque", controls: 0 },
          events: {
            onReady: onPlayerReady,
            onStateChange: onPlayerStateChange
          }
        });
      };

这是我注入(inject) Youtube 播放器对象的 Html 部分。

   <div id="iframeContainer">
    <div id="{{index}}player"></div>
    <div class="overlay">
    </div>
  </div>

我面临的问题是,当我点击视频上的全屏按钮时,覆盖层 div 被隐藏,Z-index 也没有帮助。即使视频在网站上全屏显示,我也想添加叠加层。

最佳答案

经过一番研究,我发现我们实际上可以使用 requestFullscreen() 请求 div 进入全屏 链接:https://developer.mozilla.org/en-US/docs/Web/API/Element/requestFullScreen

就我而言,我只需捕获容器:
var elem = document.getElementById("iframeContainer");

然后添加以下行:

if (elem.requestFullscreen) {
  elem.requestFullscreen();
} else if (elem.mozRequestFullScreen) {
  /* Firefox */
  elem.mozRequestFullScreen();
} else if (elem.webkitRequestFullscreen) {
  /* Chrome, Safari & Opera */
  elem.webkitRequestFullscreen();
} else if (elem.msRequestFullscreen) {
  /* IE/Edge */
  elem.msRequestFullscreen();
}

希望这对某人有帮助。干杯

关于jquery - 当全屏模式打开时,如何在 Youtube Iframe 上添加覆盖 div?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59203862/

相关文章:

php - 尝试使用 php 从存储在 phpmyadmin 中的数据库中选择数据时出错

html - 以不同方式在 div 中设置两个图像的样式

javascript - 如何使用 HTML/CSS 在网页中制作 Angular 文本

javascript - 查找具有两个 CSS 类的元素

php - jQuery AJAX 调用 - 是否可以取消不需要的调用?

javascript - jQuery 大写单词定位器

html - Div 大小不适用于所有浏览器

javascript - 我可以使用 CSS 将图像的一半恰好与另一个图像重叠吗?

html - Google Font Family 不会改变

jquery - 如何查询 MYSQL 表以获取总体和过去一年内列出现的计数?