ios - 仅在滚动时,iFrame 中的延迟加载页面在 iOS 设备上(垂直)被切断
问题描述
我有一个信息亭网页,它加载了一个 55px 的标题和一个 iFrame,它占据了它下面的窗口的其余部分。在 iFrame 内,我有一个页面可以延迟加载项目网格。我们一次加载 50 个项目,然后再加载另外 50 个,依此类推。每个项目都附加到 iFrame 内容页面中的容器 div。
这不会对桌面浏览器或 Android 设备造成问题。但是,在 iOS 设备上,它可以让我向下滑动某些页面,但随后会被随机截断 - 不允许我滑动到内容页面的底部。
我读过你应该把你的 iFrame 放在一个 div 里面。我已经这样做了,如下所示:
<header class="kiosk-header">
CONTROLS
</header>
<div id="kiosk-bid-app-container-div">
<iframe id="kiosk-bid-app-container" src="page.php" scrolling="yes" frameborder="0"></iframe>
</div>
我的 CSS:
.kiosk-header {
padding: 1rem;
margin: 0;
border-bottom: 1px solid #777;
text-shadow: -1px -1px 0 #fff;
height:55px;
position:fixed;
width:100%;
}
#kiosk-bid-app-container-div {
width: 100%;
height: calc(100% - 55px);
overflow-y: scroll !important;
-webkit-overflow-scrolling: touch !important;
margin-top:55px;
}
#kiosk-bid-app-container {
width:100%;
height:100%;
}
我无法控制内容页面(示例中列出的 page.php)。我不确定下一步该去哪里。我已阅读此处列出的响应式 iOS iFrame 页面,但这并不能解决我在 iOS 设备中看到的有限 Y 滚动(使用 browserstack 进行测试)。
解决方案
试试这个,我改了前三行。它恰好是移动 safari 中的一个怪癖,因为它不遵守 iframe 的宽度。
#kiosk-bid-app-container-div {
width: 1px;
min-width: 100%;
*width: 100%;
height: calc(100% - 55px);
overflow-y: scroll !important;
-webkit-overflow-scrolling: touch !important;
margin-top:55px;
}
让我知道这个是否奏效。
推荐阅读
- javascript - 如何使用 mongoose 从 mongodb 集合文档中计算字段总和
- angular - 检测客户端代码中 Firestore db 节点的更改
- powershell - 使用 vso powershell 任务自动将客户端 IP 地址设置为 azure sql server
- html - SVG 用另一个元素开始一个 SMIL 动画
- javascript - 如何使用 jQuery 动态翻译 html 输入占位符?
- c# - 实体框架 - 存储过程返回值
- java - 适用于 CDH 5.15 的 Cloudera HBase 客户端
- javascript - 如何从函数中打开组件反应本机
- php - 通过 CLI 执行 PHP 文件返回空白
- ios - 如何为 Alamofire 响应设置委托