📌  相关文章
📜  如何在不刷新页面的情况下使用 JavaScript 从 window.location 中删除哈希?

📅  最后修改于: 2021-08-31 02:32:53             🧑  作者: Mango

replaceState() 方法用于修改当前历史条目,将其替换为方法参数中传递的状态对象、标题和 URL。当您想要更新当前历史条目的状态对象或 URL 以响应某些用户操作时,此方法很有用。要删除哈希 URL,您可以使用历史 API 上的 replaceState 方法删除哈希位置。

例子:



  

    
        How to remove hash from windoow.location
        with JavaScript without page refresh?
    

  

  
    
        GeeksforGeeks
    
  
    
        How to remove the hash from
        window.location with
        JavaScript without page refresh?
    
  
    
        Click on the button to modify
        the current history state
    
  
    
        Modify history state
    
  
    
        Remove hash from url
    
  
    
        function modifyState() {
            let stateObj = { id: "100" };
            window.history.replaceState(stateObj,
                "Page 3", "/answer#page3.html");
        }
          
        function remove_hash_from_url() {
            var uri = window.location.toString();
  
            if (uri.indexOf("#") > 0) {
                var clean_uri = uri.substring(0, 
                                uri.indexOf("#"));
  
                window.history.replaceState({}, 
                        document.title, clean_uri);
            }
        }
    

  

输出: