function back(num = -1) { window.history.go(num) } 将这段代码修改为如果上一页历史记录为登陆也则跳转至上上页
时间: 2024-02-13 14:06:05 浏览: 170
页内跳转代码
可以使用以下代码来实现:
```
function back(num = -1) {
var previousUrl = document.referrer; // 获取上一页的链接
if (previousUrl.indexOf("login") !== -1) { // 判断上一页是否为登陆页
num = -2; // 如果是登陆页,将跳转步数修改为 -2,即返回上上页
}
window.history.go(num); // 跳转页面
}
```
这段代码中,我们添加了判断上一页是否为登陆页的逻辑。首先通过 `document.referrer` 获取上一页的链接,然后使用 `indexOf` 方法判断链接中是否包含 "login" 这个关键字,如果存在,则将跳转步数 `num` 修改为 -2,即返回上上页。最后调用 `window.history.go(num)` 方法进行页面跳转。
需要注意的是,由于浏览器的安全机制,`document.referrer` 只能获取 HTTP 引用头中的信息,因此如果上一页与当前页不在同一个域名下,或者上一页使用了 HTTPS 协议而当前页使用了 HTTP 协议,则无法获取上一页的链接。因此在实际开发中,可能需要根据具体的应用场景来选择是否使用 `document.referrer`。
阅读全文