使用jQuery或JavaScript从url中删除参数

Removing parameters from url using jQuery or JavaScript

本文关键字:删除 参数 url jQuery JavaScript 使用      更新时间:2023-09-26

你好,stackoverflow社区。我需要想法和帮助。有可能从链接中删除那个分页吗?例如:http://example.com/comp-filter/page/2/所以我需要删除那个页面/2/,我不知道怎么做,因为这个数字可以是从1到永恒。那么,我该怎么做才能使用jquery或javascript删除它呢。请帮忙?为了替换参数,我使用了:

function setGetParameter(paramName, paramValue)
{
    var url = window.location.href;
    if (url.indexOf(paramName + "=") >= 0)
    {
        var prefix = url.substring(0, url.indexOf(paramName));
        var suffix = url.substring(url.indexOf(paramName));
        suffix = suffix.substring(suffix.indexOf("=") + 1);
        suffix = (suffix.indexOf("&") >= 0) ? suffix.substring(suffix.indexOf("&")) : "";
        url = prefix + paramName + "=" + paramValue + suffix;
    }
    else
    {
    if (url.indexOf("?") < 0)
        url += "?" + paramName + "=" + paramValue;
    else
        url += "&" + paramName + "=" + paramValue;
    }
    return url;
}

但更改此代码不会有帮助。。。

HTML5的历史api就是您想要的。

你想做的是replaceState

history.replaceState()的操作与history.pushState()完全相同,不同之处在于replaceState[()]修改当前历史记录条目,而不是创建新的条目。

所以,你的代码应该是smth样的:

history.replaceState(data, document.title, newUrl);

对于实际的替换,您应该尝试正则表达式:

oldUrl.replace(/page'/'d+'/?/, '');

致以最良好的问候,Alexander