Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/79.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Jquery iOS Safari和Android上的Fancybox模式滚动中断,可更改地址和菜单栏_Jquery_Mobile_Fancybox - Fatal编程技术网

Jquery iOS Safari和Android上的Fancybox模式滚动中断,可更改地址和菜单栏

Jquery iOS Safari和Android上的Fancybox模式滚动中断,可更改地址和菜单栏,jquery,mobile,fancybox,Jquery,Mobile,Fancybox,我已经使用Fancybox为我的网站构建了一个ajax模式的快速查看灯箱。它在浏览器间运行良好,但在iOS Safari和Android上,应用程序地址栏和菜单栏的大小变化会暂时破坏设计 我的模态窗口的最大高度为96%。如果它比屏幕尺寸高(通常情况下),则可以通过触摸上下滚动。到现在为止,一直都还不错。但是,如果您到达末端或顶部,然后进一步“推”它,则会激活应用程序地址栏和菜单(收缩/放大/显示/消失),页面背景开始滚动。因此,灯箱中的焦点会丢失,直到背景停止滚动且您没有交互,焦点才会正确返回灯

我已经使用Fancybox为我的网站构建了一个ajax模式的快速查看灯箱。它在浏览器间运行良好,但在iOS Safari和Android上,应用程序地址栏和菜单栏的大小变化会暂时破坏设计

我的模态窗口的最大高度为96%。如果它比屏幕尺寸高(通常情况下),则可以通过触摸上下滚动。到现在为止,一直都还不错。但是,如果您到达末端或顶部,然后进一步“推”它,则会激活应用程序地址栏和菜单(收缩/放大/显示/消失),页面背景开始滚动。因此,灯箱中的焦点会丢失,直到背景停止滚动且您没有交互,焦点才会正确返回灯箱

这导致用户体验不佳且混乱,因为lightbox本身没有滚动,而我的自定义关闭按钮(位于顶部)并不总是可见。由于这是浏览器应用程序的行为,而不是网页的行为,我一直无法找到解决方案

我正在使用最新版本的Fancybox-3.5.7

我的代码的基本设置如下所示:

<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%;
  }