我的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
内部修复它
有什么想法吗? 我确定之前没有发生这种情况,这是Heroku的最近改变吗?
答案 0 :(得分:2)
如果您只能编辑I框架内的内容,请尝试以下代码 在样式添加中,
html, body, .wrapper{
height: 100%;
}
.footer{
position: unset;
}
.wrapper{
overflow: scroll;
-webkit-overflow-scrolling: touch;
}
在body标签正下方添加一个包装
<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>
答案 1 :(得分:0)
尝试在iframe周围添加包装器。下面的代码似乎可以滚动。但是标题没有固定在顶部。 我猜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>