gpt4 book ai didi

javascript - 用 Javascript 替换窗口历史记录标题

转载 作者:行者123 更新时间:2023-12-03 08:51:38 27 4
gpt4 key购买 nike

我在解决方案中使用 history.replaceState(null, "historyTitle", "url") 将页面的 URL 替换为更易于理解的内容。我面临的问题是,虽然它替换了 URL,并且在浏览器中导航回正确的页面,但 "historyTitle" 部分似乎在 chrome 中被忽略 - 它反而添加了整个 URL 作为窗口历史记录中的页面位置,而不仅仅是使用标题。如何克服这个问题,以便在我登陆的特定页面的浏览器历史记录中显示“historyTitle”?

小编辑:我将其与 MVC 中设置的自定义路由结合使用,因此即使更改标题,然后刷新页面,MVC 路由器仍然导航到正确的页面。这只是 chrome 中窗口历史记录 (ctrl+H) 中的标题,无法正确更新标题并转储该记录中的整个页面 URL。

最佳答案

确实这是一个错误,尽管已经有两年了。问题在于一些不明确的规范以及涉及 document.title 和后退/前进时的复杂性。

请参阅 Webkit 上的错误引用和 Mozilla 。 Opera 在引入 History API 时也表示它没有使用 title 参数,而且可能仍然没有。

Currently the 2nd argument of pushState and replaceState — the title of the history entry — isn't used in Opera's implementation, but may be one day. Potential solution

我看到的唯一方法是更改​​ title 元素并使用 PushState 代替:

document.getElementsByTagName('title')[0].innerHTML = 'bar';
window.history.pushState( {} , 'bar', '/bar' );

关于javascript - 用 Javascript 替换窗口历史记录标题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32650868/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com