更改URL参数,而不重定向到新URL

时间:2013-06-05 08:53:24

标签: javascript url parameters url-rewriting

我想知道如何在没有重定向的情况下更改URL参数。例如,用户单击使用分页实现的“第2页”,通过ajax检索数据,但我想向用户提供URL,以便他可以将具有相同结果的page2发送给朋友或其他任何人。 / p>

搜索网络和stackoverflow每个人都声明这是不可能的,只能更改哈希值(parent.location.hash = "whatever value";)。

但是如何在Airbnb完成?当我搜索城市时,结果页面的URL是:

https://www.airbnb.at/s/london

当我点击分页的“第2页”时,数据通过Ajax加载,新的URL就是这个(没有重定向):

https://www.airbnb.at/s/london?page=2

这是怎么做到的?

2 个答案:

答案 0 :(得分:1)

可能来自History API的pushState。 您可以在 History API Manipulating the browser history

中详细了解相关信息。

答案 1 :(得分:0)

我认为这会对你有所帮助,试试这个

 <a href="link1.php" rel="tab" class="link">link1</a> |
    <a href="link2.php" rel="tab" class="link">link2</a> |
    <a href="link3.php" rel="tab" class="link">link3</a>
    <script>
$(function(){
    $("a.link").on("click",function(e){
        e.preventDefault();// or return false; 
        window.history.pushState({path:this.href},'',this.href);
    });
 });
    </script>