簡體   English   中英

Angular 2+ (v11) 自動將 URL 中的片段 hash (#) 編碼為 %23

[英]Angular 2+ (v11) automatically encode fragment hash (#) in URL into %23

當 URL 中存在相應的 hash 時,我的 Angular 應用程序必須自動滾動(僅 Y 軸)到某個組件。

例如url.com/page1#element1應該使瀏覽器自動滾動到元素 1,自然而然地在 HTML 標簽內使用#element1

但不知何故,我的 Angular 應用程序自動將 hash (#) 替換為 %23,它的 URL 編碼版本。 這導致我的應用程序無法識別 URL 中的任何片段的問題(我使用this.activatedRoute.fragment.subscribe()來獲取片段值)我嘗試在代碼中到處檢查,但似乎找不到源的問題。 有人對此有任何可能的解決方案嗎? 謝謝!

不是真正的修復,但我認為這是我的應用程序特有的問題。 所以我的應用程序基本上有 2 種模式,一種是普通的ng serve ,另一種是 SSR 模式(服務器端渲染)。 基本上這個問題只出現在正常模式下,但如果我以 SSR 模式運行應用程序(也是我在產品中所擁有的),hash 將保持原樣。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM