如何用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); //
我实现的功能是通过特定链接访问,弹出相应的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判断推广链接所属的客服的更多相关文章
- 360极速浏览器UA怪异以及如何用js判断360浏览器
本文最后一次更新于7个月前,文章内容可能略有出入.若发现文章中有错误之处,可以留言评论告诉作者. 1.360极速浏览器UA因域名不同而异 今天在写一个判断浏览器.浏览器版本.操作系统.操作系统版本.浏 ...
- 如何用js判断一个对象是不是Array
.如何用js判断一个对象是不是Array 1.Array.isArray(obj) 调用数组的isArray方法 2.obj instanceof Array 判断对象是否是Array的实例 3.Ob ...
- 如何用JS判断网页中某个id的网页元素是否存在
<meta http-equiv="content-type" content="text/html;charset=utf-8" /> <m ...
- 如何用js检测判断时间日期的间距
<!DOCTYPE html> <html> <head> <meta charset="utf-8" /> <title&g ...
- Ifvisible.js – 判断网页中的用户是闲置还是活动状态
ifvisible.js 是一个跨浏览器.轻量级的方式,用户检查用户在浏览页面或正在与它进行交互.它可以处理活动状态,如在页面上空闲或活跃.您还可以使用 ifvisible.js 智能设置您的间隔,如 ...
- js判断用户的浏览器设备是移动端还是pc端
最近做的一个网站页面中需要根据用户的访问设备的不同来显示不同的页面样式,主要是判断移动设备还是电脑浏览器访问的. 下面给出js判断处理代码,以作参考. <script type="te ...
- JS判断移动设备最佳方法 并实现跳转至手机版网页
我在开发的Magento或Wordpress主题时,通过都会制作手机版本,为了实现某个片段在手机端和桌面端不同功能,又或者如果是手机设备,就跳转到指定的网页上,那么这里就需要用到JS来做判断了,下面有 ...
- PHP JS判断浏览器,微信浏览器
微信内置浏览器的 User Agent 如何判断微信内置浏览器,首先需要获取微信内置浏览器的User Agent,经过在 iPhone 上微信的浏览器的检测,它的 User Agent 是: Mo ...
- js判断手机端操作系统(Andorid/IOS)
非常实用的js判断手机端操作系统(Andorid/IOS),并自动跳转相应下载界面 androidURL = "http://xxx/xxx.apk"; var browser = ...
随机推荐
- 写Python脚本语言时,“SyntaxError: Non-ASCII character '\xe6' in file”错误的处理
如图是一段简单的文件操作代码,以为打开文件"test1221_1.py",若不存在此文件,则创建此文件.接下来并输出相关信息. 当少写了黄色方框圈起来的一行看似不经意的带有编码格式 ...
- openlayer 3 在layer上添加feature
首先获取layer的source,所以你的source里就先要有内容. vectorLayer.getSource().addFeature(iconFeature); 如果source里面没有定义过 ...
- Android Fragment替换View
在BaseActivity 中添加替换方法 public void replace(int id, Fragment fragment) { getSupportFragmentManager() . ...
- 浮点型数据运算精度bug
/** * 校验是否为数字 * @param arg * @return */ function checkIsNumber(arg){ if(arg != null && arg.t ...
- LLVM与Clang的概述及关系
LLVM是构架编译器(compiler)的框架系统,以C++编写而成,用于优化以任意程序语言编写的程序的编译时间(compile-time).链接时间(link-time).运行时间(run-time ...
- 浏览器禁止js打开新窗口
在项目中,有个需求是需要ajax获取新地址,然后去打开该页面地址,这样会被浏览器拦截,可以采取以下方式:1.再ajax请求先前,先创建一个新窗口 var newTab = window.open('' ...
- boldSystemFontOfSize 和 systemFontOfSize 的区别
使用 UIFont 的下列方法: + systemFontOfSize + boldSystemFontOfSize + italicSystemFontOfSize p.p1 { margin: 0 ...
- Cheatsheet: 2016 09.01 ~ 09.30
Web Is JavaScript Single-Threaded? Quill 1.0 – Better Rich Text Editor for Web Apps Next Generation ...
- js巧用apply方法实现数组最值以及合并
尽管js的apply方法在平常的使用中并不多见,但是在某些地方使用的还是很有帮助性的,这里就和大家说两个比较实用的例子:1.数组最大最小值 求数组中的最大最小值,js有相应的方法:Math.min() ...
- fonts.googleapis.com 加载慢的解决方法
把:fonts.googleapis.com 替换成 fonts.useso.com