Home  >  Article  >  Backend Development  >  js implementation to obtain website search source code

js implementation to obtain website search source code

小云云
小云云Original
2018-03-29 09:35:562232browse

This article mainly shares with you the js implementation of obtaining website search source code. Introducing the following code into all pages can realize the function of collecting system sources. Global unified source information can be used in any page. I hope it can help. Everyone.

var args = {
    mySite:"localhost",
    subSite:"子网站,比如移动端: m.xxx.com"
}
var index = (function(a) {
    var c = "";
    var d = args.mySite;
    a(function() {
        var g = function() {
            return function(k, l, j) {
                var h = j * 24 * 60 * 60 * 1000;
                var i = new Date();
                i.setTime(i.getTime() + h);
                var e = "; expires=" + i.toGMTString();
                document.cookie = k + "=" + escape(l) + e + "; path=/"
            }
        };
        try {
            if (document.referrer.indexOf(d) <= 0 || document.referrer.indexOf(d) > 10) {
                g().call(window, "regCompanyName", document.referrer.substring(0, 40) + "||" + window.location.href, 30)
            }
        } catch (f) {

        }
    });
    var b = function() {
        try {
            if (getCookie) {
                return getCookie
            }
        } catch (f) {}
        return function(e) {
            if (document.cookie.length > 0) {
                c_start = document.cookie.indexOf(e + "=");
                if (c_start != -1) {
                    c_start = c_start + e.length + 1;
                    c_end = document.cookie.indexOf(";", c_start);
                    if (c_end == -1) {
                        c_end = document.cookie.length
                    }
                    return unescape(document.cookie.substring(c_start, c_end))
                }
            }
            return null
        }
    };
})(jQuery);

//媒体
var media = "";
//媒体细分
var mediaSubpide = "";
//注册渠道。(直接赋值)
var registerChannel = "";
//终端,根据用户使用设备判断
var terminal = "";
//数据来源,根据cookie确定
var dataSource = "";
//当前链接
var localUrl = window.location.href;

var userChannel = {
    //媒体
    Media: function(channelInfo){
        channelInfo=channelInfo.toLowerCase();
        if(channelInfo.indexOf("||") == 0 && (channelInfo.indexOf(args.mySite) >= 0)){
            //媒体  无法判断(如直接搜索) 
            media = "网址打开或站内跳转";  //媒体
            mediaSubpide =  "";       //媒体细分

            // 无法获取referrer的来源的情况有:
            //1、个别平台外链使用noreferrer;
            //2、https跳转http;
            //3、网页重定向...
            //可在外链中植入可判定的参数如www.xxx.com&tag=zhihu
            if(channelInfo.indexOf("zhihu")>=0){
                media = "知乎";
                mediaSubpide = "";
            }
        }else if(channelInfo.indexOf("baidu.com") != -1){
            media = "百度";                       //媒体
            if(channelInfo.indexOf(&#39;utm_medium=cpc&#39;) != -1){
                mediaSubpide = "sem";         //媒体细分
            }else if(channelInfo.indexOf(&#39;utm_medium=cpc&#39;) == -1){
                mediaSubpide = "seo";         //媒体细分
            }else{
                mediaSubpide = "其它";      //媒体细分
            }
        }else if(channelInfo.indexOf(&#39;haosou.com&#39;) != -1 || channelInfo.indexOf(&#39;so.com&#39;) != -1){
            media = "好搜";                       //媒体
            mediaSubpide = "无法判断";        //媒体细分
        }else if(channelInfo.indexOf(&#39;sogou.com&#39;) != -1){
            media = "搜狗";                       //媒体
            mediaSubpide = "无法判断";        //媒体细分
        }else if(channelInfo.indexOf(&#39;sm.cn&#39;) != -1){
            media = "神马";                       //媒体
            mediaSubpide = "无法判断";        //媒体细分
        }else if(channelInfo.indexOf(&#39;bing.com&#39;) != -1){
            media = "必应";                       //媒体
            mediaSubpide = "无法判断";        //媒体细分
        }else if(channelInfo.indexOf(&#39;google.com&#39;) != -1){
            media = "google";                       //媒体
            mediaSubpide = "无法判断";        //媒体细分
        }else if(channelInfo.indexOf(&#39;douban.com&#39;) != -1){
            media = "豆瓣";                       //媒体
            mediaSubpide = "无法判断";        //媒体细分
        }else if(channelInfo.indexOf("zhihu.com") != -1){
            media = "知乎";
            mediaSubpide = "无法判断";        
        }   
        else if(channelInfo.indexOf("toutiao") != -1){
            media = "今日头条";
            mediaSubpide = "无法判断";        
        }
        else{
            media = "其它";                       //媒体
            mediaSubpide = "无法判断";        //媒体细分
        }
    
        var mediaInfo=new Array(media,mediaSubpide);
        return mediaInfo;
    },
    //终端
    Terminal: function(){
        if ((navigator.userAgent.match(/(phone|pad|pod|iPhone|iPod|ios|iPad|Android|Mobile|BlackBerry|IEMobile|MQQBrowser|JUC|Fennec|wOSBrowser|BrowserNG|WebOS|Symbian|Windows Phone)/i))){
            terminal = "移动端";
            return terminal;
        }else{
            terminal = "PC端";
            return terminal;
        }
    },
    
    //注册渠道。通过判断当前页面url获取
    RegisterChannel: function(){
        if(localUrl.indexOf(args.mySite)!= -1 ){
            registerChannel = args.mySite+"网站注册";
            return registerChannel;
        }else if(localUrl.indexOf(args.subSite)!= -1){
            registerChannel = args.subSite+"网站注册";
            return registerChannel;
        }else{
            registerChannel = "未知";
            return registerChannel;
        }
    }
};

//通用设置cookie方法
function setCookie(name, value, days) {
    var cookieTime = days * 24 * 60 * 60 * 1000;
    var d = new Date();
    d.setTime(d.getTime() + cookieTime);
    var cookieExpires = "; expires=" + d.toGMTString();
    document.cookie = name + "=" + escape(value) + cookieExpires + "; path=/";
}
//通用读取cookie方法
function getCookie(name) {
    var strCookie = document.cookie;
    var arrCookie = strCookie.split("; ");
    for (var i = 0; i < arrCookie.length; i++) {
        var arr = arrCookie[i].split("=");
        if (arr[0] == name)
            return unescape(arr[1]);
    }
    return "";
}

//排除站内跳转的情况,以免window.name被错误覆盖
if(document.referrer.indexOf(args.mySite)<=0){
    window.name=document.referrer.substring(0,40)+"||"+window.location.href;
}

//使用案例
dataSource = getCookie(&#39;regCompanyName&#39;);
if(!dataSource || ""== dataSource || typeof(dataSource)== "undefined") {
    //当cookie无法使用时,优先使用window.name
    dataSource = (window.name) ? window.name : "";
}

var judgeMedia = userChannel.Media(dataSource);
var judgeTerminal = userChannel.Terminal();
var judgeRegisterChannel = userChannel.RegisterChannel();

console.log(judgeMedia+&#39; &#39;,judgeTerminal+&#39; &#39;,judgeRegisterChannel+&#39; &#39;);

The above is the detailed content of js implementation to obtain website search source code. For more information, please follow other related articles on the PHP Chinese website!

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn