Jquery iOS Safari和Android上的Fancybox模式滚动中断,可更改地址和菜单栏
我已经使用Fancybox为我的网站构建了一个ajax模式的快速查看灯箱。它在浏览器间运行良好,但在iOS Safari和Android上,应用程序地址栏和菜单栏的大小变化会暂时破坏设计 我的模态窗口的最大高度为96%。如果它比屏幕尺寸高(通常情况下),则可以通过触摸上下滚动。到现在为止,一直都还不错。但是,如果您到达末端或顶部,然后进一步“推”它,则会激活应用程序地址栏和菜单(收缩/放大/显示/消失),页面背景开始滚动。因此,灯箱中的焦点会丢失,直到背景停止滚动且您没有交互,焦点才会正确返回灯箱 这导致用户体验不佳且混乱,因为lightbox本身没有滚动,而我的自定义关闭按钮(位于顶部)并不总是可见。由于这是浏览器应用程序的行为,而不是网页的行为,我一直无法找到解决方案 我正在使用最新版本的Fancybox-3.5.7 我的代码的基本设置如下所示:Jquery iOS Safari和Android上的Fancybox模式滚动中断,可更改地址和菜单栏,jquery,mobile,fancybox,Jquery,Mobile,Fancybox,我已经使用Fancybox为我的网站构建了一个ajax模式的快速查看灯箱。它在浏览器间运行良好,但在iOS Safari和Android上,应用程序地址栏和菜单栏的大小变化会暂时破坏设计 我的模态窗口的最大高度为96%。如果它比屏幕尺寸高(通常情况下),则可以通过触摸上下滚动。到现在为止,一直都还不错。但是,如果您到达末端或顶部,然后进一步“推”它,则会激活应用程序地址栏和菜单(收缩/放大/显示/消失),页面背景开始滚动。因此,灯箱中的焦点会丢失,直到背景停止滚动且您没有交互,焦点才会正确返回灯
<a class="quicklook" data-fancybox-quicklook data-type="ajax" data-src="quicklook.ajax.php">Quick Look</a>
quicklook.ajax.php:
<div class="quicklook_lightbox">
<!--- lightbox content --->
</div>
感谢您的建议。当用户点击附近时,无法100%避免地址栏大小的变化。但fancybox的下一个主要版本将支持Visual Viewport API(),这将大大提高移动设备的可用性。遗憾的是,从iOS 13开始,该API仅在最近才可用。谢谢您的回复,请理解。不幸的是,目前不可能改善移动用户的体验。我想我必须决定它是否会破坏交易!
<div class="quicklook_lightbox">
<!--- lightbox content --->
</div>
/* css */
div.quicklook_lightbox {
width: 97%;
padding: 1.4em;
max-height: 96%;
}