今天有一个客户提出一个需求:网站有多个在线客服,每个客服都有自己的网站推广链接,当访客通过该客服的推广链接进入网站时,必须指定由该客服接待。
  
  我的实现思路是获取推广链接中特定字符,然后判断字符对应的客服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); //

  我实现的功能是通过特定链接访问,弹出相应的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判断推广链接所属的客服的更多相关文章

  1. 360极速浏览器UA怪异以及如何用js判断360浏览器

    本文最后一次更新于7个月前,文章内容可能略有出入.若发现文章中有错误之处,可以留言评论告诉作者. 1.360极速浏览器UA因域名不同而异 今天在写一个判断浏览器.浏览器版本.操作系统.操作系统版本.浏 ...

  2. 如何用js判断一个对象是不是Array

    .如何用js判断一个对象是不是Array 1.Array.isArray(obj) 调用数组的isArray方法 2.obj instanceof Array 判断对象是否是Array的实例 3.Ob ...

  3. 如何用JS判断网页中某个id的网页元素是否存在

    <meta http-equiv="content-type" content="text/html;charset=utf-8" /> <m ...

  4. 如何用js检测判断时间日期的间距

    <!DOCTYPE html> <html> <head> <meta charset="utf-8" /> <title&g ...

  5. Ifvisible.js – 判断网页中的用户是闲置还是活动状态

    ifvisible.js 是一个跨浏览器.轻量级的方式,用户检查用户在浏览页面或正在与它进行交互.它可以处理活动状态,如在页面上空闲或活跃.您还可以使用 ifvisible.js 智能设置您的间隔,如 ...

  6. js判断用户的浏览器设备是移动端还是pc端

    最近做的一个网站页面中需要根据用户的访问设备的不同来显示不同的页面样式,主要是判断移动设备还是电脑浏览器访问的. 下面给出js判断处理代码,以作参考. <script type="te ...

  7. JS判断移动设备最佳方法 并实现跳转至手机版网页

    我在开发的Magento或Wordpress主题时,通过都会制作手机版本,为了实现某个片段在手机端和桌面端不同功能,又或者如果是手机设备,就跳转到指定的网页上,那么这里就需要用到JS来做判断了,下面有 ...

  8. PHP JS判断浏览器,微信浏览器

      微信内置浏览器的 User Agent 如何判断微信内置浏览器,首先需要获取微信内置浏览器的User Agent,经过在 iPhone 上微信的浏览器的检测,它的 User Agent 是: Mo ...

  9. js判断手机端操作系统(Andorid/IOS)

    非常实用的js判断手机端操作系统(Andorid/IOS),并自动跳转相应下载界面 androidURL = "http://xxx/xxx.apk"; var browser = ...

随机推荐

  1. icon fonts

    iconfont网站 http://www.iconfont.cn(推荐) http://fontello.com/ http://fontawesome.io/   https://icomoon. ...

  2. java反射小例子

    package com.txwsqk.reflect; public class Car { private String brand; private String color; private i ...

  3. css3样式控制(鼠标滑过 显示标注信息)

    <div class="item"> <h1>A</h1> <div class="tooltip"> < ...

  4. js定义对象的几种容易犯的错误

    //js定义对象的几种容易犯的错误function Person() { getName = function (){ console.info(1); }; return this;}//Perso ...

  5. 20161013001 DataGridView 数据转 DataTable

    DataTable dt2 =  GetDgvToTable(Form_CY_ProjectRequirements_D);    MessageBox.Show( dt2.Rows.Count.To ...

  6. python学习之函数

    1.函数名可以被赋值 比如: def aaa(): pass b = aaa//将函数名字赋值给b b()//跟aaa()效果一样 2.return 2.1.如果函数不写return的话,会默认返回N ...

  7. [Linux] vimdiff 快速比较和合并少量文件

    纯文本文件比较和合并工具一直是软件开发过程中比较重要的组成部分,vimdiff 能够在比较出来的多处差异之间快速定位,很容易的进行文件合并操作.在需要快速比较和合并少量文件的时候,vimdiff是很好 ...

  8. log4j日志配置

    #debug#日志权限配置log4j.rootLogger=info,error,stdout#控制台输出log4j.appender.stdout=org.apache.log4j.ConsoleA ...

  9. 设置bundle包中的默认语言

    p.p1 { margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo; color: #d28f5a } span.s1 { } span.s2 { c ...

  10. jquery中focus()函数实现当对象获得焦点后自动把光标移到内容最后

    代码如下: setFocus=function(id){ var t=$("#"+id).val(); $("#"+id).val(""). ...