Zaf*_*far 5 youtube jquery lightbox vimeo fancybox
我正在使用Fancybox插件播放模态视频.这很容易实现在台式机和平板电脑上播放视频的要求.但是在移动设备上,而不是显示模态窗口,视频应该在单击链接时自动以全屏模式播放.我尝试在移动设备中禁用插件,希望youtube在用户重定向时自动以全屏模式打开它.但没有奏效.
我怎样才能做到这一点?或者这实际上是可能的吗?
这是jQuery
$(function () {
var jWindow = $(window);
$(".youtube-media").click(function () {
if (jWindow.width() <= 768)
return;
$.fancybox({
'padding': 2, 'autoScale': true, 'transitionIn': 'none', 'transitionOut': 'none', 'title': this.title,
'width': 600, 'height': 340, 'href': this.href.replace(new RegExp("watch\\?v=", "i"), 'v/'),
'type': 'swf', 'swf': {
'wmode': 'transparent',
'allowfullscreen': 'true'
}
});
return false;
});
});
Run Code Online (Sandbox Code Playgroud)
这是HTML代码
<a class="youtube-media" href="http://www.youtube.com/watch?v=opj24KnzrWo">Play Video</a>
Run Code Online (Sandbox Code Playgroud)
对于跨设备兼容性,我宁愿以其embed格式使用youtube,因此您可以iframe使用此html格式打开它:
<a class="youtube-media" href="http://www.youtube.com/embed/L9szn1QQfas?autoplay=1&wmode=opaque&fs=1">youtube</a>
Run Code Online (Sandbox Code Playgroud)
请注意,我还添加了参数&fs=1以添加全屏支持.
然后这个脚本应该做的伎俩:
$(".youtube-media").on("click", function (e) {
var jWindow = $(window).width();
if ( jWindow <= 768 ) {
return;
}
$.fancybox({
href: this.href,
type: "iframe" // when using embed format
});
return false;
});
Run Code Online (Sandbox Code Playgroud)
以小格式查看此JSFIDDLE,因此youtube应为全屏(results小于768px时的区域).然后以大格式查看此JSFIDDLE,以便youtube显示在fancybox中.
注意:.on()需要jQuery v1.7 +