javascript - 在 last/之后添加到 URL

标签 javascript url

使用 jQuery;在最后一个 /

之后向 url 添加内容

例如将sale添加到:

/性别/类别/品牌/

所以它变成了:

/gender/category/brand/促销

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

/gender/category/brand/?collection=short&colour=red

我只是不知道如何在最后的 / 之后添加 sale 并且总是在 ?query string 之前添加(如果存在的话) .

通过 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;
}

最佳答案

substringlastIndexOf 一起使用。

var raw = '/gender/category/brand/?collection=short&colour=red';
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;
console.log(newUrl);
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>

关于javascript - 在 last/之后添加到 URL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49896323/

相关文章:

javascript - 为什么 JavaScript 中优先级较低的运算符会先执行?

xml - 使用 Go 并行读取多个 URL

url - SEO 和页面地址的更改

android - 如何从 TextView 上的 OnClick 事件在浏览器中启动 URL?

Javascript - 按值删除数组项

javascript - Javascript 鼠标悬停问题

javascript - 如何从多维数组中过滤产品?

java - 直接从 url 读取 - 不起作用

android - 在 Android 中使用结构查询 (sq) 从 Google Spreadsheet API 检索数据时出错

javascript - 水平滑动页面需要在点击下一个按钮时设置位置顶部