zoukankan      html  css  js  c++  java
  • 如何用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号了。

  • 相关阅读:
    JS基础学习
    Java_iText_PDF—生成PDF工具
    vc++ 编译连接错误and解决方法
    C++ 数据类型【转】
    jsp两种include指令区别
    程序员面试宝典问题及解析
    vc++6.0快捷键
    vue动态绑定图片和背景图
    配置webpack中dev.env.js、prod.env.js,解决不同命令下项目启动和打包到指定的环境
    配置webpack中externals来减少打包后vendor.js的体积
  • 原文地址:https://www.cnblogs.com/newgold/p/5279422.html
Copyright © 2011-2022 走看看