簡體   English   中英

將窗口歷史記錄標題替換為Javascript

[英]Replace Window History title with Javascript

我在解決方案中使用了history.replaceState(null, "historyTitle", "url")來將頁面的URL替換為更易理解的內容。 我面臨的問題是,盡管它替換了URL,並且在瀏覽器中導航回到了正確的頁面,但在chrome中似乎忽略了"historyTitle"部分-而是將整個URL添加為頁面中的位置窗口歷史記錄,而不僅僅是使用標題。 如何克服此問題,以便在瀏覽器歷史記錄中針對我所到達的特定頁面顯示“ historyTitle”?

小編輯:我將此與我在MVC中設置的自定義路由結合使用,因此,即使更改標題,然后刷新頁面,MVC路由器仍會導航到正確的頁面。 這只是chrome中的窗口歷史記錄(ctrl + H)中的標題,無法正確更新標題並轉儲該記錄中的整個頁面URL。

確實這是一個錯誤,盡管現在已經有兩年了。 問題在於一些不清楚的規范和涉及document.title和后退/前進的復雜性。

請參閱WebkitMozilla上的錯誤參考。 Opera在介紹History API時也表示,它沒有使用title參數,並且可能仍然沒有使用。

目前,Opera的實現中未使用pushState和replaceState的第二個參數(歷史條目的標題),但可能只有一天。 潛在解決方案

我看到的唯一方法是更改​​title元素並改用pushState:

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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM