js怎么不进行跳转但是给路径带上参数

在JavaScript中,如果你想要给路径添加参数但不执行实际的跳转,你可以使用window.history.pushState方法或者window.history.replaceState方法来更新浏览器的历史记录状态,但不改变当前页面。这样你就可以给URL添加查询参数,而不会导致页面刷新或跳转。

以下是一个简单的例子,展示如何使用pushState给当前URL添加参数:

javascript 复制代码
// 获取当前URL
var currentUrl = window.location.href;
 
// 解析当前URL的查询参数
var urlParts = currentUrl.split('?');
 
// 如果URL已有查询参数,则添加新参数,否则创建新的查询字符串
var newQueryParams = 'param1=value1&param2=value2';
if (urlParts.length > 1) {
    urlParts[1] += '&' + newQueryParams;
} else {
    urlParts.push(newQueryParams);
}
 
// 创建新的URL
var newUrl = urlParts.join('?');
 
// 使用pushState更新浏览器历史记录
window.history.pushState({ path: newUrl }, '', newUrl);
 
// 现在URL已经更新,但页面不会刷新或跳转

请注意,这种方法不会向服务器发送任何请求,也不会导致页面内容改变。它只是在浏览器的历史记录中添加了一个新的记录,并更新了当前的URL。

其他文章:
History 对象的pushState()和replaceState()

相关推荐
小辉同志4 分钟前
Epoll+线程池
开发语言·c++·c·线程池·epoll
史迪仔01124 分钟前
[QML] Qt Quick Dialogs 模块使用指南
开发语言·前端·c++·qt
杨凯凡5 分钟前
【019】IO/NIO 概念:Web 开发要掌握到什么程度
java·开发语言·nio
季明洵12 分钟前
Java基础---逻辑控制(上)
java·开发语言·循环结构·分支结构·顺序结构
沫璃染墨16 分钟前
重生之我要手写 C++ list:从底层结构到 const 迭代器与迭代器失效全解
开发语言·c++
练习时长一年24 分钟前
xlsx文件下载异常问题
java·开发语言
空中海25 分钟前
第四章:Vue Router
前端·javascript·vue.js
竹林81826 分钟前
从零集成RainbowKit:我如何在一个周末搞定多链钱包连接并填平三个大坑
前端·javascript
secret_to_me26 分钟前
裴行俭VS袁天罡和李淳风
开发语言
2601_9534656127 分钟前
M3U8 在线播放器:无需安装,一键调试 HLS 直播流
开发语言·前端·javascript·开发工具·m3u8·m3u8在线播放