jquery - 如何在手机上全屏播放视频

标签 jquery youtube fancybox lightbox vimeo

我正在使用 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;
        });
    });

这是 HTML 代码

<a class="youtube-media" href="http://www.youtube.com/watch?v=opj24KnzrWo">Play Video</a>

最佳答案

为了实现跨设备兼容性,我宁愿使用 YouTube 的 embed 格式,这样您就可以使用以下 html 格式将其作为 iframe 打开:

<a class="youtube-media" href="http://www.youtube.com/embed/L9szn1QQfas?autoplay=1&wmode=opaque&fs=1">youtube</a>

请注意,我还添加了参数 &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;
});

查看此 JSFIDDLE 小格式,因此 youtube 应全屏显示(小于 768 像素时的结果 区域)。然后看到这个JSFIDDLE 采用大格式,以便 YouTube 在 fancybox 中显示。

注意:.on() 需要 jQuery v1.7+

关于jquery - 如何在手机上全屏播放视频,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18432187/

相关文章:

youtube - youtube 如何启用 ascii 视频?

youtube - 使用 youtube 数据 API 检索 channel 信息

php - php-如何从随机YouTube视频ID列表中生成YouTube视频列表?

jquery - fancybox 内的文件输入

javascript - div 大小调整与从 javascript 生成的内容

javascript - 将函数放在括号中会发生什么?

jquery - 用 jQuery 收集表单中的所有项目

JQuery:合并多个 JSON 结果

javascript - 如何让 Fancybox 与 carousel 插件一起使用?

fancybox - jQuery 工具/Fancybox 冲突。 "uncaught exception: Could not find Overlay: example_group"