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

标签 javascript jquery

您好 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 的 history api这就是您正在寻找的。

您要做的是replaceState

history.replaceState() operates exactly like history.pushState() except that replaceState() modifies the current history entry instead of creating a new one.

所以,你的代码将类似于:

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

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

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

最诚挚的问候,亚历山大

关于javascript - 使用 jQuery 或 JavaScript 从 url 中删除参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33814086/

相关文章:

javascript - (aws-amplify) 为什么只有在上传完成后才执行progressCallback?

javascript - 如何在JSON中将上类别放在左侧?

javascript - Leaflet点击事件无法仅监听 map 图层

javascript - 如何获取类的属性名称

javascript - 如何在使用 JQuery 到达最后一张幻灯片时不显示下一张幻灯片?

jQuery 自动完成功能停用 Bootstrap 菜单下拉菜单

jquery - 当 div 移动以填充淡出的其他 div 留下的空白空间时如何为 div 设置动画

javascript - jQuery:将具有一个类的 td 元素添加到 tr

jQuery - 如何选择除特定复选框之外的所有复选框?

javascript - 如何使用 .map() 将 promise 的结果分配给数组元素?