JS/JavaScript修改浏览器URL参数且不刷新页面

编程教程 > WEB > JavaScript (26) 2025-04-11 15:09:36

简介

 

使用 JavaScript 改变 URL 参数值并且页面不刷新的方法有两种模式:

  • 使用 History replaceState
  • 使用 History pushState

 

使用 History replaceState 

 

// 获取当前 URL 的参数
let searchParams = new URLSearchParams(window.location.search);
// 修改参数值
searchParams.set('paramName', 'paramValue');
const newBrowserUrl = new URL(window.location);
newBrowserUrl.search = searchParams.toString();
// 创建一个新的 URL,替换当前的 URL 但不刷新页面
window.history.replaceState({}, '', newBrowserUrl.toString());

 

使用 History pushState (推荐)

const browserUrlParams = new URLSearchParams(window.location.search);
browserUrlParams.set('projectId',params.projectId);
browserUrlParams.set('groupId',params.groupId);

const newBrowserUrl = new URL(window.location);
newBrowserUrl.search = browserUrlParams.toString();
history.pushState({}, '', newBrowserUrl);

区别

history.replaceState() 的使用与 history.pushState() 非常相似,区别在于 replaceState() 是修改了当前的历史记录项而不是新建一个。

 


评论
User Image
提示:请评论与当前内容相关的回复,广告、推广或无关内容将被删除。

相关文章
一、简介HTML5引入了 history.pushState() 和 history.replaceState() 方法,它们分别可以添加和修改历史记录条目。这
简介 使用 JavaScript 改变 URL 参数值并且页面不刷新的方法有两种模式:使用 History replaceState使用 History pus
javascript中onclick事件传递对象参数,javascript,javascript传递对象参数
JavaScript/JS数组清空,删除数组内所有数据。Array=[]与Array.length=0的区别
JavaScript/JS读取文本/JSON文件内容let file = files[0];var reader = new FileReader();read
JavaScript正则加上/去掉cdn域名前缀,文本支持<script&gtl;let $domain="https://static-project.example
​JavaScript 数学小数精确计算<!DOCTYPE html&gtl; <html&gtl; <head&gtl; <title&gtl;</tit...
JavaScript H5原生操作元素class,包括获取元素class值,设置class值修改元素class值操作。示例数据 <head&gtl; <meta cha
前言在其他编程语言中,我们可以通过划分模块,来组织庞大复杂的项目,而JS一开始并没有模块的概念,因为一开始JS的脚本就很简单。后来随着JS的发展,前端要开发的项
1.创建一个User对象,并且赋予一个说hello的方法var User=function(){ this.sayHello=function(name){ a
方式一 spliceJavaScript 中的 splice() 方法可用于在数组中添加或删除元素。如果我们需要删除数组中的元素,可以使用 splice() 方
Javascript/JS 复制内容到系统剪切板/粘贴板/** * 复制内容到剪切板 * @param content 文本内容 */function copy
<body&gtl; <script type="text/javascript"&gtl;   function test(){     let obj={        ...
主流模块规范目前主流模块规范有:规范名称运行环境实现加载方式AMD(异步模块定义)客户端require.js异步CMD(通用模块定义)客户端sea.js异步Co
Import Maps是一种针对web页面去控制imports行为的新方式,潜在地可以使你摈弃掉你的构建系统。当Es modules在Ecmascript 20