客服系统切换中英文多语言 - 使用js更新URL参数来实现切换 【唯一客服】网站网页客服源码教程
我的客服聊天页面有多语言切换功能,是通过URL参数中的lang参数来进行区分的
如果要切换中英文或者其他语言,就需要动态更新URL参数中的lang参数,所以实现下面这个函数
//修改url参数 function changeURLPar(destiny, par, par_value) { var pattern = par.replace(/[.*+?^${}()|[\]\\]/g, '\\$&') + '=([^&]*)'; var replaceText = par + '=' + par_value; if (destiny.match(new RegExp(pattern))) { return destiny.replace(new RegExp(pattern, 'g'), replaceText); } else { if (destiny.match('[\?]')) { return destiny + '&' + replaceText; } else { return destiny + '?' + replaceText; } } }
使用方法如下:
var url = 'http://example.com'; var newUrl = changeURLPar(url, 'key', 'newValue'); console.log(newUrl); // "http://example.com?key=newValue"
这个函数接收三个参数:destiny
,par
,par_value
。
destiny
是一个字符串,表示要修改的URL。par
是一个字符串,表示要修改的参数。par_value
是一个字符串,表示参数的新值。
首先,函数使用par
构建一个正则表达式模式,该模式用于在URL中搜索匹配的参数。
然后,函数使用这个模式测试destiny
字符串。如果有匹配的参数,函数使用正则表达式和g
标志来替换所有匹配的参数。
如果没有匹配的参数,函数使用另一个正则表达式测试destiny
字符串以确定它是否包含问号。如果有,函数在URL末尾添加新参数。如果没有,函数将在URL的开头添加问号和新参数。
最后,函数将返回修改后的URL字符串。
十年开发经验程序员,离职全心创业中,历时三年开发出的产品《唯一客服系统》
一款基于Golang+Vue开发的在线客服系统,软件著作权编号:2021SR1462600。一套可私有化部署的网站在线客服系统,编译后的二进制文件可直接使用无需搭开发环境,下载zip解压即可,仅依赖MySQL数据库,是一个开箱即用的全渠道在线客服系统,致力于帮助广大开发者/公司快速部署整合私有化客服功能。
开源地址:唯一客服(开源学习版)
官网地址:唯一客服官网