解決WX-IOS打開公眾號網頁出現的底部導航條


在微信公眾號中,打開跳轉鏈接時會,瀏覽器底部分出現一個導航條,導致屏幕空間壓縮。網上有些人給出了js,vue的解決方案,那么我貼一下angular版本的,希望能對你有所幫助。

 

代碼:

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 {}

 

原理:

    底部的導航條是因為wx瀏覽器產生了歷史記錄導致的,所以我們操作的時候不產生歷史記錄就行啦。

 最開始,我想到了navigateByUrl中的replaceUrl參數,但這樣做面臨兩個問題:1 改動比較大;2 Ionic的的tab中,沒辦法設置此參數。所以, 要另想它法。

   后面我查到,angular與dom管理history這塊與LocationStrategy有關,自已寫一個也比較麻煩。那就繼承默認的LocationStrategy, 然后重載其pushState方法,讓它不再往瀏覽器“通風報信”就好啦。

   換做平時,我一定會想了:“我從未聽過如此奇怪的要求”。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM