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()

相关推荐
建军啊14 小时前
php伪协议、代码审计工具和实战
开发语言·php
WYH28714 小时前
为什么在cubeide里勾选了can1,生成的工程里没有can.c?
c语言·开发语言
14 小时前
java关于键盘录入
java·开发语言
马猴烧酒.14 小时前
JAVA后端对象存储( 图片分享平台)详解
java·开发语言·spring·腾讯云
wearegogog12314 小时前
基于MATLAB的D2D仿真场景实现
开发语言·网络·matlab
froginwe1114 小时前
Chart.js 散点图详解
开发语言
独自破碎E14 小时前
【纵向扫描】最长公共前缀
java·开发语言
2601_9495758614 小时前
Flutter for OpenHarmony二手物品置换App实战 - 自定义组件实现
android·javascript·flutter
nuo53420214 小时前
C语言实现类似面向对象的三大特性
c语言·开发语言
object not found14 小时前
基于uniapp开发小程序自定义顶部导航栏状态栏标题栏
前端·javascript·小程序·uni-app