问题:是否可以修改浏览器地址栏和浏览器历史记录中显示的当前 URL?
具体来说,我只想修改用户可见的URL;我不想触发导航。(我有一个 Gatsby 应用程序,而 Gatsby 正在使用 Reach Router。)
动机:我有一个图片库,用户可以单击并导航到 URL,例如/images/?id=52
. 这种方法的优点是/images/
可以预取以启用页面的即时呈现。但是,这种方案对禁用 JS 的用户不友好,因为他们在使用查询参数导航时根本看不到任何图像。所以我也预渲染/images/52/
了没有 JS 的页面。所以我想做的是使用查询参数导航 JS 用户,然后将他们看到的 URL 修改为可以与包括非 JS 用户在内的任何人共享的 URL。