diff --git a/src/vs/workbench/contrib/webview/browser/pre/main.js b/src/vs/workbench/contrib/webview/browser/pre/main.js index ec679b5415521..b32b1595d3a19 100644 --- a/src/vs/workbench/contrib/webview/browser/pre/main.js +++ b/src/vs/workbench/contrib/webview/browser/pre/main.js @@ -468,8 +468,8 @@ const handleInnerClick = (event) => { if (node.getAttribute('href') === '#') { event.view.scrollTo(0, 0); } else if (node.hash && (node.getAttribute('href') === node.hash || (baseElement && node.href === baseElement.href + node.hash))) { - const fragment = node.hash.substr(1, node.hash.length - 1); - const scrollTarget = event.view.document.getElementById(decodeURIComponent(fragment)); + const fragment = node.hash.slice(1); + const scrollTarget = event.view.document.getElementById(fragment) ?? event.view.document.getElementById(decodeURIComponent(fragment)); scrollTarget?.scrollIntoView(); } else { hostMessaging.postMessage('did-click-link', node.href.baseVal || node.href);