如何用JS判断推广链接所属的客服

  今天有一个客户提出一个需求:网站有多个在线客服,每个客服都有自己的网站推广链接,当访客通过该客服的推广链接进入网站时,必须指定由该客服接待。
  
  我的实现思路是获取推广链接中特定字符,然后判断字符对应的客服QQ,再修改QQ客服弹窗的代码。想要更简单点,甚至可以把QQ号作为特定字符放到推广链接中。
  
  先整理出javascript获取url信息的常见方法,再晒出我的实现代码。

  以“http://www.cnblogs.com/newgold/p/5261577.html#flag?test=12345”为例
  
  获取全部链接:

var a=location.href;
console.log(a); // “http://www.cnblogs.com/newgold/p/5261577.html#flag?test=12345”

  获取url协议:

var a=location.protocol;
console.log(a); //http:

  获取端口:

var a=location.port;
console.log(a);

  获取域名:

var a=location.hostname;
console.log(a); //www.cnblogs.com

  获取页面路径: 

var a=location.pathname;
console.log(a); // /newgold/p/5261577.html

  获取#后面部分:

var a=window.location.hash; 
var b=a.substr(1); 
console.log(b); // flag?test=12345

  获取?后面部分: 

复制代码
// 此时案例地址变为“http://www.cnblogs.com/newgold/p/5261577.html?test=12345”。得到 test=12345
var a=location.search;
var b=a.substr(1);
console.log(b); 

//如果案例依旧是“http://www.cnblogs.com/newgold/p/5261577.html#flag?test=12345”,则需下面的写法,得到 test=12345
var a=location.href;
var b=a.substr(a.lastIndexOf('?')+1);
console.log(b);
复制代码

  获取=后面部分:

var a=location.href;
var b=a.substring(a.lastIndexOf('=')+1);
console.log(b); // 12345

  我实现的功能是通过特定链接访问,弹出相应的QQ对话窗口,实现代码:

//推广链接为 http://www.cnblogs.com?q=123456,在新页面打开QQ对话窗口
var a=location.href;
var b=a.substring(a.lastIndexOf('=')+1);
window.open('tencent://Message/?Menu=YES&Uin='+b+'&websiteName=im.qq.com');

  后面会把QQ号码与特定字符对应,这样子就不会一眼看出是谁的QQ号了。

posted @   平底斜  阅读(650)  评论(0编辑  收藏  举报
编辑推荐:
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
阅读排行:
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· SQL Server 2025 AI相关能力初探
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
点击右上角即可分享
微信分享提示