[英]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.