我也迁移了一个独立的Angular PWA,也将其用作Ionic 4的混合应用程序。此PWA中没有使用任何离子标记(离子含量等)。我也使用原始的Angular路由器插座。在Android上一切正常,但在iOS中,滚动被禁用。
渲染结构:
<html>
<body>
<app-root>
<router-outlet></router-outlet>
<app-dashboard></app-dashboard> // Routed view
<app-root>
</body>
</html>
我通过应用以下CSS更改设法在iOS中进行滚动工作:
html {
overflow-y: auto;
}
body {
position: relative;
height: 100vh;
overflow-y: auto;
-webkit-overflow-scrolling: touch;
}
问题在于,在原始pwa中,某些视图在处理过程中使用@HostListener('window:scroll', [])
来监听窗口滚动事件,并且通过应用此CSS hack,滚动现在位于主体中而不在窗口中。
是否有一种方法可以在iOS中修复窗口滚动而不必重构所有视图以使用离子含量标记?