Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/381.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 添加到最后一个URL之后/_Javascript_Url - Fatal编程技术网

Javascript 添加到最后一个URL之后/

Javascript 添加到最后一个URL之后/,javascript,url,Javascript,Url,使用jQuery;在最后一个/ 例如,将销售添加到: /性别/类别/品牌/ 因此,它变成: /性别/类别/品牌/销售 但是,由于URL的生成和构建方式,我不能总是说“将其添加到URL的末尾”,因为有时会在末尾出现查询字符串,例如: /性别/类别/品牌/?系列=短款&颜色=红色 我只是不知道如何在最后的/之后添加销售,如果存在查询字符串,则总是在之前添加 通过stackoverflow搜索,我看到了一些关于在最后一次/之后提取内容的信息,但不是这样,这可能吗?我真的很感激你能帮我解决这个问题 编辑

使用jQuery;在最后一个/

例如,将销售添加到:

/性别/类别/品牌/

因此,它变成:

/性别/类别/品牌/销售

但是,由于URL的生成和构建方式,我不能总是说“将其添加到URL的末尾”,因为有时会在末尾出现查询字符串,例如:

/性别/类别/品牌/?系列=短款&颜色=红色

我只是不知道如何在最后的/之后添加销售,如果存在查询字符串,则总是在之前添加

通过stackoverflow搜索,我看到了一些关于在最后一次/之后提取内容的信息,但不是这样,这可能吗?我真的很感激你能帮我解决这个问题

编辑-解决方案

非常感谢您的帮助,但我能够将Shree的答案改编为最容易获得的答案,它满足了我的需要:

if(window.location.href.indexOf("sale") > -1) {

} else {
    var raw = window.location.href;
    var add = 'sale';
    var rest = raw.substring(0, raw.lastIndexOf("/") + 1);
    var last = raw.substring(raw.lastIndexOf("/") + 1, raw.length);
    var newUrl = rest + add + last;
    window.location.href = newUrl;
}
香草javascript

var a = "/gender/category/brand/?collection=short&colour=red";
var lastIndexPosition = a.lastIndexOf('/');
a = a.substring(0,lastIndexPosition+1)
    +"sale"
    +a.substring(lastIndexPosition+1 , a.length);
console.log(a);
香草javascript

var a = "/gender/category/brand/?collection=short&colour=red";
var lastIndexPosition = a.lastIndexOf('/');
a = a.substring(0,lastIndexPosition+1)
    +"sale"
    +a.substring(lastIndexPosition+1 , a.length);
console.log(a);

通过在Javascript中使用可重用函数

您可以使用
lastIndexOf
获取
last'/'索引
位置并将新数据附加到该位置

lastIndexOf()方法返回最后一次出现的位置 字符串中指定值的

  • 使用它,您可以将任何参数发送到函数中,因为它是可重用的。
函数插入(主字符串、插入字符串、位置){
返回main_string.slice(0,pos)+ins_string+main_string.slice(pos);
}
var url=“/gender/category/brand/?collection=short&color=red”
url=插入(url“sale”,url.lastIndexOf(“/”)+1)

console.log(url)
使用Javascript中的可重用函数

您可以使用
lastIndexOf
获取
last'/'索引
位置并将新数据附加到该位置

lastIndexOf()方法返回最后一次出现的位置 字符串中指定值的

  • 使用它,您可以将任何参数发送到函数中,因为它是可重用的。
函数插入(主字符串、插入字符串、位置){
返回main_string.slice(0,pos)+ins_string+main_string.slice(pos);
}
var url=“/gender/category/brand/?collection=short&color=red”
url=插入(url“sale”,url.lastIndexOf(“/”)+1)

console.log(url)
另一种选择是,使用
.split(“?”
处分离,然后将它们合并回来,例如:

//查询字符串示例
var url='/gender/category/brand/?collection=short&color=red'
var parts=url.split(“?”);
var newurl=parts[0]+“sale”+“?”+(parts[1]| |“”)
console.log(newurl)
//无查询测试
var url='/gender/category/brand/'
var parts=url.split(“?”);
var newurl=parts[0]+“sale”+(parts[1]| |“”)

console.log(newurl)
另一种选择是,使用
.split(“?”
处分离,然后将它们合并回来,例如:

//查询字符串示例
var url='/gender/category/brand/?collection=short&color=red'
var parts=url.split(“?”);
var newurl=parts[0]+“sale”+“?”+(parts[1]| |“”)
console.log(newurl)
//无查询测试
var url='/gender/category/brand/'
var parts=url.split(“?”);
var newurl=parts[0]+“sale”+(parts[1]| |“”)

console.log(newurl)
子字符串
lastIndexOf
一起使用

var raw='/gender/category/brand/?collection=short&color=red';
var add=‘销售’;
var rest=raw.substring(0,raw.lastIndexOf(“/”)+1);
var last=raw.substring(raw.lastIndexOf(“/”)+1,raw.length);
var newUrl=rest+add+last;
console.log(newUrl)

子字符串
lastIndexOf
一起使用

var raw='/gender/category/brand/?collection=short&color=red';
var add=‘销售’;
var rest=raw.substring(0,raw.lastIndexOf(“/”)+1);
var last=raw.substring(raw.lastIndexOf(“/”)+1,raw.length);
var newUrl=rest+add+last;
console.log(newUrl)

更新的标签-这不是jquery问题,这是vanilla javascriptUpdated标签-这不是jquery问题,这是vanilla JavaScriptThank,抱歉,我可能需要补充的是,性别、类别、品牌和字符串只是示例,不是常量,它们根据用户在网站中的导航方式而变化,我能看到的唯一常量是url的final/of,这就是为什么我提到它作为targety,您可以通过替换它将上述常量替换为变量。例如,我使用了常量。谢谢,抱歉,我可能需要补充的是,性别、类别、品牌和字符串只是示例,不是常量,它们会根据用户浏览网站的方式而变化,我能看到的唯一常量是url的final/of,这就是为什么我提到它作为目标,您可以通过替换将上述常量替换为变量。例如,我使用了常量。@Chobbit,我创建了一个可重用的函数,您可以在其中使用任何
url
,并将任何
string
发送到replace@Chobbit,我创建了一个可重用的函数,您可以在其中使用任何
url
并向所有人发送任何
string
,Shree的这个版本是我最适合我需要的版本,所以把这个作为答案。我已经把这个对我有用的更新版本放在了原来的帖子中,以帮助其他人。谢谢大家,这个来自Shree的版本是我最适合我需要的版本,所以把这个作为答案。我把这个对我有用的更新版本放在了原来的帖子中,以帮助其他人。