用javascript更改url?

用javascript更改url?,javascript,jquery,dom,Javascript,Jquery,Dom,是否可以在不刷新页面的情况下使用javascript更改url(即删除url参数) if ($(location).attr("href").substring("notSupported")) { var url = $(location).attr("href").match(".*index.action"); window.location.assign(url[0]); } 这是可行的,但由于assign重新加载页面,它进入了一个无限的重新加载循环。救

是否可以在不刷新页面的情况下使用javascript更改url(即删除url参数)

if ($(location).attr("href").substring("notSupported")) {
        var url = $(location).attr("href").match(".*index.action");
        window.location.assign(url[0]);
}

这是可行的,但由于assign重新加载页面,它进入了一个无限的重新加载循环。救命啊

当然,您可以使用javascript推送历史状态

if ($(location).attr("href").substring("notSupported")) {
    var url = $(location).attr("href").match(".*index.action");

    var currentState = history.state; // current page
    history.pushState(currentState , "Page Title", url[0]);
}

是,您可以更改URL而无需重新加载:

带参数:


据我所知,您将需要使用某种库(如AJAX)来简单地用前面引用的加载体ie替换当前体

JQuery的Ajax函数与其他函数紧密交织在一起 功能

还有一些其他的独立Ajax库,比如Matt Kruse的Ajax工具箱——也许会有帮助

<>我会考虑加载完整的jQuery库。如果你链接到 在CDN上使用jQuery,加载时间将非常短

JQuery CDN(包含在脚本标记中) //ajax.googleapis.com/ajax/libs/jquery/1.11.0/jquery.min.js

然后使用

var url = "/page2.html";
$.ajax({url: url})
.done(function(data) {
$('#content').html(data);
});

是的,请查看HTML5历史API和
窗口。只适用于现代浏览器。在这方面要比从你找到的链接中复制和粘贴示例代码多一点努力。解决OP的问题或解决方案。努力与问题的努力程度相关。。简单的谷歌搜索就会发现这个问题,哈哈。
var url = "/page2.html";
$.ajax({url: url})
.done(function(data) {
$('#content').html(data);
});