繁体   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