Javascript 在模式弹出窗口中播放嵌入的YouTube视频?
当用户点击YouTube视频时,是否有可能在模式弹出窗口中播放已嵌入网站的YouTube视频Javascript 在模式弹出窗口中播放嵌入的YouTube视频?,javascript,jquery,html,Javascript,Jquery,Html,当用户点击YouTube视频时,是否有可能在模式弹出窗口中播放已嵌入网站的YouTube视频 视频是使用YouTube的嵌入代码嵌入的,下面是一个示例: <iframe width="560" height="315" src="https://www.youtube.com/embed/iRYDYrj3Bfw" frameborder="0" allow="accelerometer; autoplay; encrypted-media; gyroscope; picture-in-pi
视频是使用YouTube的嵌入代码嵌入的,下面是一个示例:
<iframe width="560" height="315" src="https://www.youtube.com/embed/iRYDYrj3Bfw" frameborder="0" allow="accelerometer; autoplay; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe>
我看过几个将YouTube视频加载到模式弹出窗口的脚本,例如:
但到目前为止,它们都是通过按钮或横幅来实现的
我希望这会像做这样的事情一样简单:
<div id="wrapper">
<youtube iframe></iframe>
</div>
然后在javascript中,听一下包装器上的点击
我想模拟以下网站的行为,您可能需要向下滚动到名为Arbeiten的部分并单击其中一个视频:根据Ingus的解决方案,您可以像我在这里做的那样在iframe上覆盖一个div: $document.readyfunction{ AutoPlayYouTubemold; }; 函数autoplayyoutubemold{ 变量触发器=$'。触发器'; trigger.clickfunction{ e、 防止违约; var theModal=$this.datatarget; var videoSRC=$this.attrsrc; var videoSRCauto=videoSRC+?自动播放=1; $theModal+'iframe'.attr'src',videoSRCauto; $theModal.on'hidden.bs.modal',函数E{ $theModal+'iframe'.attr'src'; }; }; }; .持有人{ 宽度:560; 高度:315px; 位置:相对位置; } .框架{ 宽度:100%; 身高:100%; } .覆盖{ 位置:绝对位置; 排名:0; 左:0; 宽度:560%; 高度:315px; 光标:指针; } &时代;
根据Ingus的解决方案,您可以像我在这里所做的那样在iframe上覆盖一个div: $document.readyfunction{ AutoPlayYouTubemold; }; 函数autoplayyoutubemold{ 变量触发器=$'。触发器'; trigger.clickfunction{ e、 防止违约; var theModal=$this.datatarget; var videoSRC=$this.attrsrc; var videoSRCauto=videoSRC+?自动播放=1; $theModal+'iframe'.attr'src',videoSRCauto; $theModal.on'hidden.bs.modal',函数E{ $theModal+'iframe'.attr'src'; }; }; }; .持有人{ 宽度:560; 高度:315px; 位置:相对位置; } .框架{ 宽度:100%; 身高:100%; } .覆盖{ 位置:绝对位置; 排名:0; 左:0; 宽度:560%; 高度:315px; 光标:指针; } &时代;
我将下面的示例用于引导3/4。这对我有用 在youtube上播放视频片段
<img src="https://img.youtube.com/vi/<?= $row['videoID'] ?>/mqdefault.jpg" class="video-btn img-fluid cursor-pointer" data-toggle="modal" data-src="https://www.youtube.com/embed/<?= $row['videoID'] ?>" data-target="#myModal">
我将下面的示例用于引导3/4。这对我有用 在youtube上播放视频片段
<img src="https://img.youtube.com/vi/<?= $row['videoID'] ?>/mqdefault.jpg" class="video-btn img-fluid cursor-pointer" data-toggle="modal" data-src="https://www.youtube.com/embed/<?= $row['videoID'] ?>" data-target="#myModal">
这可能对你有用:P谢谢你。但在这个例子中,他们使用页面上的按钮来启动模态。想知道这是否可以通过已经嵌入的youtube视频实现-如果我理解你的意思是正确的,那么你应该用你想要的任何东西来替换按钮。例如,视频是使用youtube上的iframe嵌入的。当有人点击播放按钮时,我希望视频在弹出窗口中播放。这可能对你有用:P谢谢。但在这个例子中,他们使用页面上的按钮来启动模态。想知道这是否可以通过已经嵌入的youtube视频实现-如果我理解你的意思是正确的,那么你应该用你想要的任何东西来替换按钮。例如,视频是使用youtube上的iframe嵌入的。当有人点击“播放”按钮时,我希望视频在弹出窗口中播放。感谢这一点,同时我整理了我自己的解决方案,我从网上找到的各种片段中复制了这些解决方案。在你的情况下,视频自动播放与声音在我的情况下,我不能让它自动播放,除非我附加&mute=1的网址。我不明白为什么。谢谢你,在此期间,我整理了我自己的解决方案,我从网上找到的各种片段中复制了这些解决方案。在你的情况下,视频自动播放与声音在我的情况下,我不能让它自动播放,除非我附加&mute=1的网址。我不明白为什么。
<script type="text/javascript">
//for youtube video modal
$(document).ready(function() {
var $videoSrc;
$('.video-btn').click(function() {
$videoSrc = $(this).data( "src" );
});
console.log($videoSrc);
$('#myModal').on('shown.bs.modal', function (e) {
$("#video").attr('src',$videoSrc + "?rel=0&showinfo=0&modestbranding=1&autoplay=1" );
})
$('#myModal').on('hide.bs.modal', function (e) {
$("#video").attr('src',$videoSrc);
})
});
</script>
.videomodal .modal-dialog {
max-width: 800px;
margin: 30px auto;
}
.videomodal .modal-body {
position:relative;
padding:0px;
}
.videomodal .close {
position:absolute;
right:-30px;
top:0;
z-index:999;
font-size:2rem;
font-weight: normal;
color:#fff;
opacity:1;
}
.cursor-pointer{
cursor: pointer;
}