Lightbox 第一次后不会播放视频
我的网站上有一个嵌入的 YouTube 视频,可以在灯箱中播放。当用户单击链接时,视频第一次可以正常播放。如果用户关闭灯箱,然后尝试再次单击视频链接,灯箱会加载,但不会播放视频。它显示空白屏幕。
有什么想法吗?
这是代码:
链接:
<a id="playvid" href="#video"><img src="/image" width="70" alt="Extra 1" /></a
带视频的 DIV:
div style="display:none"><div id="video" style="width:420; height:345;">
<iframe width="420" height="345" src="http://www.youtube.com/embed/..."
frameborder="0" allowfullscreen></iframe>
</div>
</div>
脚本:
<script type="text/javascript">
var $j = jQuery.noConflict();
$j(document).ready(function() {
$j("a.fancybox").fancybox();
$j("a#playvid").fancybox();
});
</script>
我正在使用 Fancybox 1.3.4
I have an embedded YouTube video on my site that plays in a lightbox. When an user clicks the link the video plays fine the first time. If the user closes the lightbox then tries to click the link for the video again the lightbox loads but no video plays. It shows a blank screen.
Any ideas what is going on?
Here is the code:
Link:
<a id="playvid" href="#video"><img src="/image" width="70" alt="Extra 1" /></a
DIV with Video:
div style="display:none"><div id="video" style="width:420; height:345;">
<iframe width="420" height="345" src="http://www.youtube.com/embed/..."
frameborder="0" allowfullscreen></iframe>
</div>
</div>
Script:
<script type="text/javascript">
var $j = jQuery.noConflict();
$j(document).ready(function() {
$j("a.fancybox").fancybox();
$j("a#playvid").fancybox();
});
</script>
I am using Fancybox 1.3.4
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
好吧,问题很简单。因为当您关闭 fancybox 时 fancybox 内部会执行什么操作(它会清除它在显示的内容中找到的任何 iframe 的“src”属性)。当您第二次想观看视频时,src 属性已被清除,因此您看不到任何内容。
解决方案是要么侵入 fancybox src 并注释掉负责清除 iframe 的“src”属性的行),要么……嗯,我不知道还有什么,我必须深入研究。
All right, than problem is pretty simple. Because of what fancybox does internally when you close the fancybox (it clears "src" attribute for any iframes it finds in the contents it displays). The second time you want to see the video the src attribute has been cleared so you don't see anything.
Solution is to either hack into the fancybox src and comment out the line responsible for clearing the "src" attribute of an iframes) or ... hmm I don't know what else, I would have to dig in deeper.