关于javascript:客服系统切换中英文多语言-使用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字符串。

惟一在线客服零碎

https://gofly.v1kf.com

十年开发教训程序员,到职全心守业中,历时三年开发出的产品《惟一客服零碎》

评论

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

这个站点使用 Akismet 来减少垃圾评论。了解你的评论数据如何被处理