diff --git a/.changeset/techdocs-small-berries-travel.md b/.changeset/techdocs-small-berries-travel.md new file mode 100644 index 0000000000..af77ee2a17 --- /dev/null +++ b/.changeset/techdocs-small-berries-travel.md @@ -0,0 +1,5 @@ +--- +'@backstage/plugin-techdocs': patch +--- + +Use `history.pushState` for hash link navigation. diff --git a/plugins/techdocs/src/reader/components/Reader.tsx b/plugins/techdocs/src/reader/components/Reader.tsx index fb49b90096..1264e2b6eb 100644 --- a/plugins/techdocs/src/reader/components/Reader.tsx +++ b/plugins/techdocs/src/reader/components/Reader.tsx @@ -115,7 +115,15 @@ export const Reader = ({ entityId, onReady }: Props) => { baseUrl: window.location.origin, onClick: (_: MouseEvent, url: string) => { const parsedUrl = new URL(url); - navigate(`${parsedUrl.pathname}${parsedUrl.hash}`); + if (parsedUrl.hash) { + history.pushState( + null, + '', + `${parsedUrl.pathname}${parsedUrl.hash}`, + ); + } else { + navigate(parsedUrl.pathname); + } shadowRoot?.querySelector(parsedUrl.hash)?.scrollIntoView(); },