簡體   English   中英

更改URL,無需重新加載頁面

[英]Change the url without need to reload the page

我嘗試更改頁面的URL,而無需重新加載頁面。 如果我在控制台中嘗試此操作,URL將會更改:

if (localStorage.getItem('product') !== null) {
    storedVariable = localStorage.getItem('product');
    url = window.location.href;
    url += '?product=' + storedVariable;
}
window.history.pushState("", "", url);

但是,當我將此代碼放到Google跟蹤代碼管理器中時,頁面的URL是默認的。 我該如何解決?

可能與: mdn History_API有關

pushState()具有三個參數:狀態對象,標題(當前被忽略)和(可選)URL。 讓我們更詳細地檢查這三個參數:

  • 狀態對象—狀態對象是一個JavaScript對象,它與pushState()創建的新歷史記錄條目相關聯。 每當用戶導航到新狀態時,都會觸發popstate事件,並且該事件的state屬性包含歷史記錄條目的狀態對象的副本。

    狀態對象可以是任何可以序列化的對象。 因為Firefox將狀態對象保存到用戶的磁盤上,以便用戶重新啟動瀏覽器后可以將其還原,所以我們對狀態對象的序列化表示施加了640k個字符的大小限制。 如果將序列化表示形式大於此形式的狀態對象傳遞給pushState(),則該方法將引發異常。 如果您需要更多空間,建議您使用sessionStorage和/或localStorage。

暫無
暫無

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

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