jquery - 显示带有 fancyBox 的 youtube 视频,仅在 chrome 中启用滚动

标签 jquery css iframe youtube fancybox

我正在使用 fancyBox 的 2.1.5 版在弹出窗口中显示 Youtube 视频的插件 - 类似于 jQuery 灯箱插件的功能,仅适用于视频媒体。

这在 IE、Firefox 和 Opera 中完美运行,但在针对 Chrome 进行测试时,视频在叠加层中加载正常,但它允许您在页面上上下滚动 iframe,叠加层似乎也没有覆盖页面的整个高度。下面包含一个屏幕截图来演示:

enter image description here

如您所见,叠加层并未覆盖整个页面,并且允许 iframe 垂直滚动。这在其他浏览器中不是问题,似乎只是 chrome 的问题。有人以前遇到过这个吗?

我的JS+包含如下:

<script type="text/javascript" src="/Js/jquery.fancybox.js"></script>
<script type="text/javascript" src="/Js/jquery.fancybox-media.js"></script>
<link href="/Css/fancy.css" type="text/css" rel="stylesheet" />
<script type="text/javascript">
    $(document).ready(function () {
        $('.fancybox-media').fancybox({
            openEffect: 'none',
            closeEffect: 'none',
            helpers: {
              media: {}
            }
        });
    });
</script>

和标记:

<a class="fancybox-media" href="http://youtu.be/Ut7Hrc26TAI">
    <img src="/Images/laptop-find-out-more.png" alt="Find out more" />
</a>

我正在使用 jQuery 版本 1.8.2 分钟。我已经用较新版本的 jQuery 对此进行了测试,但无济于事。

如何防止这种滚动行为并确保叠加层覆盖整个 chrome 页面?

最佳答案

最终不得不挂接到 afterShownafterClose 回调并手动禁用滚动,因为似乎没有官方修复。

<script type="text/javascript">
    $(document).ready(function () {
        $('.fancybox-media').fancybox({
            openEffect: 'none',
            closeEffect: 'none',
            afterShow: shown,
            afterClose: closed,
            helpers: {
                media: {}
            }
        });
    });

    function shown() {
        $('html, body').css({
            'overflow': 'hidden',
            'height': '100%'
        });
    }

    function closed() {
        $('html, body').css({
            'overflow': 'auto',
            'height': 'auto'
        });
    }
</script>

希望这对处于相同情况的其他人有所帮助。

关于jquery - 显示带有 fancyBox 的 youtube 视频,仅在 chrome 中启用滚动,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18352271/

相关文章:

javascript - 如何在 Ember 中将 'POST' 类型页面加载到 iframe 中?

javascript - 在没有 iframe ID 的情况下从表 td 类访问 iframe

jquery - 过渡动画 : all; Weird delay on margin-right

c# - 将字符串列表传递给由 asp 代码后面的方法发送的 javascript

c# - 从 GET 更改为 POST jquery ajax 调用 c#

CSS 过渡仅在不活动时

javascript - 从 iframe 中的元素获取数据

jquery - 如何调整与浏览器大小成比例的 div 大小?

c# - 标签方向

html - 如何在网站 HTML/CSS 上放置背景视频循环