按钮/链接用于向上或向下重定向级别

Button/link to redirect up or down a level

本文关键字:重定向 链接 用于 按钮      更新时间:2023-09-26

我的网站中有两个不同的级别,但每个级别都有相似的结构。例如:

http://example.com/demo/insights.html

http://example.com/demo/complete/insights.html

我想做的是添加一个链接/按钮,用户可以单击该链接/按钮以根据他们所在的位置向上或向下级别。网址的最后一部分(例如,成效分析.html)将保持不变。只是目录是否会向上或向下更改。

所以,如果我在 http://example.com/demo/insights.html,就会有一个按钮可以到达 http://example.com/demo/complete/insights.html。如果我在 http://example.com/demo/complete/insights.html然后会有一个按钮可以到达 http://example.com/demo/insights.html。

我有很多这样的页面,但我想避免在每个页面上手动编码链接。我正在寻找使用 javascript/jquery 的东西,它将评估目录级别和 URL 的最后一部分并相应地重定向。

任何见解将不胜感激。

window.location.href

将为您提供您所在页面的URL,从那里只需拆分split()位置并添加/删除所需的URL子字符串即可

然后,您可以将新网址添加到页面上通用"A"标记的 href 属性中

举个粗略的例子

var loc = window.location.href,
    someSplits = loc.split("http://example.com/demo/"),
    //you can do better reg ex, this is just quick
    page = someSplits[1]; // this will give you the remaining url
// OR just replace the part you dont want
var loc = window.location.href,
    page = loc.replace('http://example.com/demo/', ''); 
// this will give you the remaining url

一种方法是计算斜杠:

var link = window.location.href;
var deep = link.match(/'//g).length - 3;
var chunks = link.split(/'//);
if (deep) { // level 2
    link = chunks[0] + '//' + chunks[2] + '/' + chunks[4]; // get rid of one level (chunks[3])
} else { // level 1
    link = chunks[0] + '//' + chunks[2] + '/extra-level/' + chunks[3]; // add a level
}

你可以使用这个:

location.assign('../'+location.pathname.substring(location.pathname.lastIndexOf("/") + 1))