小智 3
“被迫”在与您描述的类似的环境中工作我遇到了完全相同的问题。事实上,有很多与滚动和溢出相关的答案,主要与 Facebook 的初始化设置有关,但任何地方给出的答案都不会产生任何好处 - 我想你很清楚。
然而,在我的具体情况下,我偶然发现了一个(浏览器堆栈确认的)修复程序,我很确定这就是您所需要的。
首次初始化 Fancybox 时,请务必将 css 值设置为打开 Fb 窗口时固定的主体位置(通过添加 afterShow 回调),然后在窗口关闭时删除该设置(我使用 afterClose 回调)。看到我们只想/需要将此修复应用于 iProducts,让我们将实际的 CSS 更改代码包装在一个条件中,调用一个检查 userAgent 是否匹配的函数。就像这样:
function applePie() {
return ( navigator.userAgent.match(/(iPhone|iPod|iPad)/i) );
}
$('.fancy-overlay').fancybox({
your: 'settings',
afterShow: function() {
if ( applePie() ) { $('body').css({'position': 'fixed'}); }
},
afterClose: function() {
if ( applePie() ) { $('body').css({'position': ''}); }
}
});
Run Code Online (Sandbox Code Playgroud)