我有一個網址,看起來像這樣如何刪除網址中最後一個斜槓後的內容,而無需重新加載頁面?
http://foo.com/Item/newItemName
該項目被保存到與該項目名稱的數據庫頁面上有些操作後。現在我想更換URL這樣
我需要更新的窗口狀態,所以是可以更新使用window.history.replaceState法或類似的東西的網址?
我有一個網址,看起來像這樣如何刪除網址中最後一個斜槓後的內容,而無需重新加載頁面?
http://foo.com/Item/newItemName
該項目被保存到與該項目名稱的數據庫頁面上有些操作後。現在我想更換URL這樣
我需要更新的窗口狀態,所以是可以更新使用window.history.replaceState法或類似的東西的網址?
你在找什麼是pushState
功能。
檢查這些文檔進行:https://developer.mozilla.org/en-US/docs/Web/API/History_API
此外,檢查出本教程:https://css-tricks.com/using-the-html5-history-api/
的pushState
功能是超級方便。
感謝您的回答。雖然push狀態並不是用newItemId代替newItemName。我錯過了什麼嗎? – user3587180
注意添加一些代碼,它聽起來像你正在替換url的狀態而沒有加上當前的url。 –
應該可以這樣做:
history.pushState({}, null, newUrl);
哪裏newUrl
是新的URL應該替換當前的一個。請注意,這只是HTML5。
我會使用replaceState
而不是pushState
,因爲您不想在用戶的瀏覽器歷史記錄中創建新條目。
history.replaceState(
'{ foo: "bar" }',
'Some new title',
'http://foo.com/Item/12345'
);
你在談論狀態,你在使用JavaScript框架嗎? –
你甚至試圖自己做這個嗎?如果答案爲「是」,並且解決方案出現問題,則應發佈無法使用的代碼。 – mdziekon
@JesusCarrasco我正在使用TypeScript框架。 – user3587180