被人网站源码里面看到的,感觉挺有意思,mark一下

/*** Created by hh on 2016.6.20.*/function goTo(url) {var ua = navigator.userAgent;if (ua.indexOf('MSIE') >= 0) {var rl = document.createElement('a');rl.href = url;document.body.appendChild(rl);rl.click();} else {location.href = url;}
}
function getReferer() {if (document.referrer) {return document.referrer;} else {return false;}
}
function getKeyWord(url) {var refer = url;var sousuo = refer.split(".")[1];var grep = null;var str = null;var keyword = null;switch (sousuo) {case "baidu":grep = /wd\=.*\&/i;str = refer.match(grep)keyword = str == null ? '' : str.toString().split("=")[1].split("&")[0];fkeyword = keyword.length > 0 ? keyword : '';if (fkeyword.length > 0) {setCookie("keyword", getCookie("keyword").length > 0 ? getCookie("keyword") + "," + fkeyword : fkeyword, 7);setCookie("from", getCookie("from").length > 0 ? getCookie("from") + "," + "baidu" : "baidu", 7);setCookie("url", getCookie("url").length > 0 ? getCookie("url") + "," + encodeURIComponent(url) : encodeURIComponent(url), 7);}break;case "google":grep = /&q\=.*/i;str = refer.match(grep)keyword = str == null ? '' : str.toString().split("&")[1].split("=")[1];fkeyword = keyword.length > 0 ? keyword : '';if (fkeyword.length > 0) {setCookie("keyword", getCookie("keyword").length > 0 ? getCookie("keyword") + "," + fkeyword : fkeyword, 7);setCookie("from", getCookie("from").length > 0 ? getCookie("from") + "," + "google" : "google", 7);setCookie("url", getCookie("url").length > 0 ? getCookie("url") + "," + encodeURIComponent(url) : encodeURIComponent(url), 7);}break;case "so":grep = /&q\=.*/i;str = refer.match(grep)keyword = str == null ? '' : str.toString().split("&")[1].split("=")[1];fkeyword = keyword.length > 0 ? keyword : '';if (fkeyword.length > 0) {setCookie("keyword", getCookie("keyword").length > 0 ? getCookie("keyword") + "," + fkeyword : fkeyword, 7);setCookie("from", getCookie("from").length > 0 ? getCookie("from") + "," + "360soso" : "360soso", 7);setCookie("url", getCookie("url").length > 0 ? getCookie("url") + "," + encodeURIComponent(url) : encodeURIComponent(url), 7);}break;}
}if (!getReferer()) {goTo('?x=3&r=' + Math.random());
} else {getKeyWord(getReferer());
}

document.referrer已经可以用于统计搜索来源相关推荐

  1. document.referrer之隐藏来源

    document.referrer document.referrer是用来获取跳转链接的来源,正规的解释是:referrer 属性可返回载入当前文档的文档的 URL. 实际中使用在广告相关业务中较多 ...

  2. 详谈javascript中document.referrer的兼容性

    遇见了,却来不及相识:相识了,却来不及熟悉:熟悉了,却还是要说再见.既然每天都见面,为何不提前熟悉一下呢?   读书是为了明理,我们还是带着问题来了解referrer的重要性和用途吧! 一:什么是re ...

  3. 获取来源网站php,js实现获取网站搜索来源代码

    本文主要和大家分享js实现获取网站搜索来源代码,把以下代码引入所有页面,即可实现收集系统来源的功能,在任意页面中都可以使用全局的统一的来源信息,希望能帮助到大家.var args = { mySite ...

  4. JS - document.referrer

    document对象属性 document对象有很多属性,其中有3个与对网页的请求有关的属性,它们分别是URL.domain和referrer. URL属性包含页面完整的URL,domain属性中只包 ...

  5. php location document.referrer,关于隐藏来路 Referrer的方法探讨

    js中可以用document.referrer获取到前页面来路url,在C#中可以通过Request.Referrer获取,但是有时候我们想隐藏来路 Referrer. 先看如何获取这个来路: js: ...

  6. 关于document.referrer的使用需要注意

    项目使用到一个场景,ajax请求返回无权限,跳回登录页面,登录后自动返回之前的浏览页,跳转由前端处理,于是想到document.referrer,但是对可靠性不确定,特意搜索了一下相关资料,大致整理如 ...

  7. PHP array_count_values() 函数用于统计数组中所有值出现的次数。

    定义和用法 array_count_values() 函数用于统计数组中所有值出现的次数. 本函数返回一个数组,其元素的键名是原数组的值,键值是该值在原数组中出现的次数. 语法 array_count ...

  8. 对象可以创建数组吗_企业微信活码如何创建?活码可以统计渠道来源吗?

    文丨语鹦企服私域管家原创,未经授权不得转载 在微信上,当我们要举办大型活动引流客户,或想避免所有客户都加到同一个客服号时,需要借助微信活码来实现客户分流.那么在企业微信上有类似的功能吗?企业微信活码如 ...

  9. document.referrer和history.go(-1)退回上一页区别

    javascript:location=document.referrer;和javascript:history.go(-1);区别: 返回上一页,在PC端我们可以使用:history.go(-1) ...

最新文章

  1. Oracle11g新特性之动态变量窥视
  2. div 包裹_如何查看到达之前收到的包裹和邮件
  3. 解决ubuntu16.04 qt5.9.1无法输入中文
  4. hive 两个没有null指定的表左关联的结果有null_Hive的优化原则
  5. 查出数字字符字段中非数字字符的记录
  6. MFC之处理消息映射的步骤...
  7. iOS绘图UIBezierPath 和 Core Graphics框架
  8. UAC2.0 Requests处理
  9. 梦幻手游显示连接服务器,?梦幻西游手游无法连接服务器怎么办 无法访问服务器解决方法?...
  10. go clean 命令介绍
  11. 高级计量经济学及stata应用 学习笔记③ 长面板
  12. 自己做语料——Python爬取新闻联播文字版
  13. 小众但口碑好的便签软件
  14. 如何看损失函数图loss
  15. 5分钟理解边缘概率,联合概率,条件概率,随机事件独立,随机事件依赖
  16. 生成QR二维码图片示例
  17. k8s_node节点得pod频繁重启排查原因
  18. TTL与CMOS的区别
  19. MFC基于Progress动态滚动进度条
  20. 微波辐射数据读取与处理

热门文章

  1. 三步彻底清除电脑的mysql
  2. java web 启动时执行_java Web 启动时自动执行代码的几种方式
  3. kingbase自带的驱动在哪_为什么别人家的广告语都能自带BUG?
  4. php redis 用户会话,使用Redis保存用户会话Session详解
  5. cmd删除txt部分文字_Python识别图片中的文字
  6. [转]计算机视觉之跟踪算法——相关滤波器Correlation Filter
  7. 类对象作为函数参数进行值传递
  8. LVM源码分析2-libdaemon
  9. tomcat 使用log4j 管理日志
  10. Winform Echarts 显示百度地图的用法(3)