javascript - iPhone 6 Plus、Safari、iOS8 中的死区。当标签可见时底部区域失去交互性

标签 javascript css mobile-safari iphone-6-plus

我正在制作一个网络应用程序,并希望使用所有屏幕并尽可能避免滚动。页面的很多区域都会有需要点击的按钮。

当标签栏打开并且我旋转到纵向并返回到横向时,移动 safari 底部的区域不可点击。

我已将 body 高度设置为与 window.innerHeight 相同,而不是 100%,这样我就不必滚动到底部的按钮。

bodyEl.style.height = window.innerHeight + 'px';

这个区域可能无法用于互动内容。

这是一个带有代码的演示:

http://plnkr.co/edit/327sUQ?p=preview

您应该能够在 iPhone 6 Plus 上通过单击全屏按钮“在单独的窗口中启动预览”来打开它的预览。

Launch the preview in a separate window

更新:

它看起来确实像是 iOS8 中的错误,它在我的模拟器中按预期在 iOS8.4、9.0 和 10.2 中运行。

最佳答案

我可能已经找到了您问题的答案,但很想听听您能否确认。将页面内容设置为具有以下样式:

  • overflow-y: scroll(允许您在视口(viewport)下方滚动,但仅在必要时根据内容的长度滚动;默认值为可见)<
  • -webkit-overflow-scrolling: touch(平滑任何滚动行为)

除了您的height: 100%(强制内容填充视口(viewport))

似乎强制 Safari 中的 iOS 菜单(顶部的选项卡和地址栏以及底部的导航栏)始终显示。这样一来,点击页面顶部和底部的按钮就不再是“盲区”,而是可以正常工作,而不是打开 Safari 菜单。

关于javascript - iPhone 6 Plus、Safari、iOS8 中的死区。当标签可见时底部区域失去交互性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29083007/

相关文章:

javascript - 使用jquery将文本高度调整为图像高度

javascript - jQuery 克隆一个元素并更改子元素的属性以保持它们的唯一性

jquery - 当id或name不存在时跳转到页面的不同位置

jquery - 置顶消息如何在 10 秒后自动关闭

javascript - iOS 上的 IFrame 高度问题(移动版 safari)

javascript - 是否有适用于 MS Word 的应用程序 URL 协议(protocol)?

javascript - 您如何动态捕获 ID 并更改内容?

javascript - 简单的图像幻灯片(包括示例)

javascript - iOS safari 会自动扩展 iframe

iOS Safari 自动保存下载的图像