在微信公众号中,打开跳转连接时会,浏览器底部分出现一个导航条,致使屏幕空间压缩。网上有些人给出了js,vue的解决方案,那么我贴一下angular版本的,但愿能对你有所帮助。javascript
代码:vue
export class RouteWithoutHistory extends PathLocationStrategy { pushState(state: any, title: string, url: string, queryParams: string): void {} } @NgModule({ declarations: [AppComponent], entryComponents: [], imports: [ ... ], providers: [ ... { provide: LocationStrategy, useClass: RouteWithoutHistory}, ], bootstrap: [AppComponent] }) export class AppModule {}
原理:java
底部的导航条是由于wx浏览器产生了历史记录致使的,因此咱们操做的时候不产生历史记录就行啦。bootstrap
最开始,我想到了navigateByUrl中的replaceUrl参数,但这样作面临两个问题:1 改动比较大;2 Ionic的的tab中,没办法设置此参数。因此, 要另想它法。浏览器
后面我查到,angular与dom管理history这块与LocationStrategy有关,自已写一个也比较麻烦。那就继承默认的LocationStrategy, 而后重载其pushState方法,让它再也不往浏览器“通风报信”就好啦。微信
换作平时,我必定会想了:“我从未听过如此奇怪的要求”。dom