修改地址栏参数的方法

做web前端开发,有时需要使用js修改地址栏参数。

 

今天在网上找到了相关的代码,记录下来,已备以后使用。

 

function changeURLPar(destiny, par, par_value) {
	var pattern = par+'=([^&]*)';
	var replaceText = par+'='+par_value;
	
	if (destiny.match(pattern)) {

		// 原文此处有bug,这是修改后的代码
		var tmp = '/'+pattern+'/';
		// 下面是原文的代码
		// var tmp = '/\\'+par+'=[^&]*/';

		tmp = destiny.replace(eval(tmp), replaceText);
		return (tmp);
	} else {
		if (destiny.match('[\?]')) {
			return destiny+'&'+ replaceText;
		} else {
			return destiny+'?'+replaceText;
		}
	}
	return destiny+'\n'+par+'\n'+par_value;
}

 

原文链接: http://bbs.xiakexing.com/cgi-bin/topic.cgi?forum=34&topic=19

React可以通过一些常见的方式来修改地址栏参数,从而实现更好的编程体验和更好的用户体验。 其中一种常见的方式是使用React-Router,它是React一个官方的关键库。React-Router中有一个叫做“useParams”函数,它可以在函数组件里面使用,通过它可以获取到地址栏的动态参数。 在使用“useParams”函数的时候,需要在路由中添加对应的参数。这个参数通常由变量名和一个占位符组成,例如:“/users/:userId”。使用“useParams”函数可以获取到这个用户ID的,然后根据这个来进行相应的操作。 另一种常见的方式是使用URLSearchParams API。URLSearchParams API可以解析URL中的查询参数,然后可以修改并重新设置这些参数。 通过URLSearchParams,可以通过以下方式修改URL参数: - 使用实例化URLSearchParams对象,并通过set()、append()、delete()、has()等方法来对参数进行操作。 - 使用URLSearchParams.toString()方法,将参数格式化为字符串,最后再使用“history.push()”方法来更新浏览器地址栏的URL。 得注意的是,在React中,在组件中要使用“history”对象,这个对象在React-Router中是使用“useHistory”hook获取。 “history”可以让组件使用路由来控制导航、改变URL等。 总之,React提供了娴熟的框架来处理URL参数,有了这些方法,我们可以更轻松地编写前端应用程序,并通过URL参数来实现更好的用户体验。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值