繁体   English   中英

使用 jquery 从 URL 中删除查询字符串(处理问题)

[英]Removing Query String from URL by using jquery (working with issue)

在我的网站博客页面中,在该页面 URL 中添加了查询字符串。 我想从 URL 中删除查询字符串。 所以我曾经使用 jquery,我编写并添加到我的脚本中。 它删除查询字符串,但继续刷新页面直到第 n 次。 我曾经“一个”jquery方法。 那也行不通。

你能帮我吗

我的脚本是

jQuery(document).one('ready',function(){
    window.location.href = window.location.href.split('?')[0];
});
var uri = window.location.href.toString();
if (uri.indexOf("?") > 0) {
    var clean_uri = uri.substring(0, uri.indexOf("?"));
    window.history.replaceState({}, document.title, clean_uri);
}

将值设置为 window.location.href 将重新加载页面。 试试这个:

    var url = window.location.href;
    var a = url.indexOf("?");
    var b =  url.substring(a);
    var c = url.replace(b,"");
    url = c;

继续刷新页面直到第 n 次。

这是因为您没有检查 URL 是否具有查询字符串。 所以是无限刷新。

你可以试试这个:

$(document).ready(function(){
    if (window.location.href.indexOf('?') > -1) {
        window.location.href = window.location.pathname;
    }
});

编辑 1:是否可以在不刷新页面的情况下删除查询字符串?

你可以试试这个:

$(document).ready(function(){
    if (window.location.href.indexOf('?') > -1) {
        history.pushState('', document.title, window.location.pathname);
    }
});

因此,如果 href 与主机名 + 路径名不同,则它有一个查询。 所以删除它并刷新页面一次:

jQuery(document).one('ready',function(){
    if(window.location.href != window.location.hostname + window.location.pathname) {
        window.location.href = window.location.pathname;
    }
});

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM