You’re looking for replaceState()
, it replaces the current position in the history instead of pushing a new one, like pushState()
does
history.replaceState({}, 'Title', link.href);
from MDN
history.replaceState()
operates exactly likehistory.pushState()
except thatreplaceState()
modifies the current history entry instead
of creating a new one.
replaceState()
is particularly useful when you want to update the
state object or URL of the current history entry in response to some
user action.
Remember, some functions are not available on older browsers. But there is a library
that could help you out.