使用javascript/jquery单击DOM元素后,在地址栏中更改URL

Seb*_*lan 1 html javascript jquery

是否有任何方法可以在单击DOM元素后更改浏览器中的URL而无需重新加载页面?

    $('#filter_form').on('change', function () {
        $.ajax(options);
        //change the browser URL
    });
Run Code Online (Sandbox Code Playgroud)

例如:

之前: http://somepage.com/filters

后: http://somepage.com/filters?type=apartment

T.J*_*der 6

是的,历史API可以实现这一点.双方history.pushStatehistory.replaceState让你指定一个新的URL,例如:

history.pushState(null, null, "filters?type=apartment");
Run Code Online (Sandbox Code Playgroud)

URL以通常的方式解析.

浏览器支持很好,除了IE9和更早版本.