document.referrer已经可以用于统计搜索来源

来源:互联网 发布:希腊存款担保移民 知乎 编辑:程序博客网 时间:2024/05/16 17:11
被人网站源码里面看到的,感觉挺有意思,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());}





原创粉丝点击