iphone 无法滚动 heroku 维护页面

Can't scroll heroku maintenance page on iphone

我的 Heroku 应用程序上有一个自定义维护页面,但我无法在我的 iphone 上滚动它(无论是在 Safari 还是 chrome 上)。它在网络(Safari,甚至响应模式和 chrome)和 android 手机上正常工作。

问题是 Heroku 使用以下代码在 iframe 中加载我的页面:

<html>
  <head>
    <meta name="viewport" content="width=device-width, initial-scale=1">
    <meta charset="utf-8">
    <title>Offline for Maintenance</title>
    <style media="screen">
      html,body,iframe {
        margin: 0;
        padding: 0;
      }
      html,body {
        height: 100%;
        overflow: hidden;
      }
      iframe {
        width: 100%;
        height: 100%;
        border: 0;
      }
    </style>
  </head>
  <body>
      <iframe src="//s3.amazonaws.com/cf-udon-maintenance-page/index.html">
      // Here goes my page
      </iframe>
    </body>
</html>

这是在 iOS 上破坏滚动的部分,如果我在调试模式下取消设置 属性,滚动就会开始工作

html,body {
   overflow: hidden;
}

因为我在 iframe 中,所以我无法访问它来覆盖它,而且我还没有找到从 iframe.[=16 中修复它的方法=]

有什么想法吗? 我敢肯定这以前没有发生过,这是 Heroku 最近的变化吗?

尝试在 iframe 周围添加包装器。下面的代码似乎可以滚动。但是 header 并没有固定在顶部。 我想 iOS 上的 iFrame 高度可能无法正常工作。

<style type="text/css">
    .scroll-wrapper {
        width: 100%;
        height: 100%;
        -webkit-overflow-scrolling: touch;
        overflow-y: scroll;
    }
    iframe{
        width: 100%;
        height: 100%;
        border:0;
        border-bottom: 1px solid white; /* <- required in order for scrolling to work */
    }
</style>

<div class="scroll-wrapper">
    <iframe src="//s3.amazonaws.com/cf-udon-maintenance-page/index.html">
        // Here goes my page
    </iframe>
</div>

如果您只能编辑 I 框架内的内容,请尝试以下代码。
在样式中添加,

  html, body, .wrapper{
    height: 100%;
  }

  .footer{
    position: unset;
  }

  .wrapper{
    overflow: scroll;
    -webkit-overflow-scrolling: touch;
  }

并在正文标签正下方添加一个包装器

<body>
  <div class="wrapper">
    <!-- Fixed navbar -->
    <nav class="navbar navbar-default navbar-fixed-top">
    </nav>

    <div class="jumbotron">
      <h1>Dang It</h1>
    </div>

    <!-- Begin page content -->
    <div class="container">
    </div>

    <footer class="footer">
    </footer>
  </div>
<body>

https://jsfiddle.net/dknfmqaL/