ホームページ  >  記事  >  ウェブフロントエンド  >  Web サイトの訪問数を正確にカウントするための JS サンプル コード_JavaScript スキル

Web サイトの訪問数を正確にカウントするための JS サンプル コード_JavaScript スキル

WBOY
WBOYオリジナル
2016-05-16 17:29:521020ブラウズ
코드 복사 코드는 다음과 같습니다.

/**
* vlstat ブラウザ統計スクリプト
*/
var statIdName = "vlstatId";
var xmlHttp;
/**
* cookieId を設定します
*/
function setCookie(c_name, value 、expiredays) {
var exdate = new Date();
exdate.setDate(exdate.getDate()expiredays);
document.cookie = c_name "=エスケープ(value) ((expiredays == null) ? "" : ";expires=" exdate.toGMTString()) ";path=/;domain=cecb2b.com";
}
/**
* cookieId を取得します
*/
関数 getCookie (c_name) {
if (document.cookie.length > 0) {
c_start = document.cookie.indexOf(c_name "=");
if (c_start != -1) {
c_start = c_start c_name.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 "";
}
/**
* 現在のタイムスタンプを取得します
*/
function getTimestamp() {
var timestamp = Date.parse(new Date());
return timestamp;
}
/**
* statId を生成
*/
function genStatId() {
var cookieId = getTimestamp();
cookieId = "vlstat" "-" cookieId "-" Math.round(Math.random() * 3000000000);
return cookieId;
}
/**
* StatId を設定します
*/
function setStatId() {
var cookieId = genStatId();
setCookie(statIdName, cookieId, 365);
}
/**
* StatId を取得
*/
function getStatId() {
var statId = getCookie(statIdName);
if (statId != null && statId.length > 0) {
return statId;
} else {
setStatId();
return getStatId();
}
}
/**
* UA を取得
*/
function getUA() {
var ua = navigator.userAgent;
if (ua.length > 250) {
ua = ua.substring(0, 250);
}
return ua;
}
/**
* ブラウザの種類を取得
*/
function getBrower() {
var ua = getUA();
if (ua.indexOf("Maxthon") != -1) {
return "Maxthon";
} else if (ua.indexOf("MSIE") != -1) {
return "MSIE";
} else if ( ua.indexOf("Firefox") != -1) {
return "Firefox";
} else if (ua.indexOf("Chrome") != -1) {
return "Chrome" ;
} else if (ua.indexOf("Opera") != -1) {
return "Opera";
} else if (ua.indexOf("Safari") != -1) {
return "Safari";
} else {
return "ot";
}
}
/**
* ブラウザ言語を取得
*/
function getBrowerLanguage() {
var lang = navigator.browserLanguage;
return lang != null && lang.length > 0 ? lang : "";
}
/**
* オペレーティング システムを入手
*/
function getPlatform() {
return navigator.platform;
}
/**
* ページタイトルを取得
* /
function getPageTitle() {
return document.title;
}
/**
* フォームを作成します
*
* @return
*/
function createSubmitForm() {
var frm = document.createElement( "form");
document.body.appendChild(frm);
frm.method = "POST";
return frm;
}
/**
* 양식에 대한 요소 생성
*
* @param inputForm
* @param elementName
* @param elementValue
* @return
*/
function createFormElement(frmInput, elementName, elementValue) {
    var element = document.createElement("input");
    element.setAttribute("id", elementName);
    element.setAttribute("name", elementName);
    element.setAttribute("type", "hidden");
    element.setAttribute("value", elementValue);
frmInput.appendChild(element);
    return element;
}
/**
* XMLHttpRequest 객체 생성
*
* @return
*/
function createXMLHttpRequest() { 
 if (window.ActiveXObject) { 
  xmlHttp = new ActiveXObject('Microsoft.XMLHTTP'); 
 } else if (window.XMLHttpRequest) { 
  xmlHttp = new XMLHttpRequest(); 
 } 
}
/**
 * url指定跳转页,data是要post的数据。func类似于函数指针
 *
 * @param url
 * @param data
 * @param func
 * @return
 */
function AjaxPost(url, data , func) {
    var httpRequest = createHttpRequest();
    if (httpRequest) {
        httpRequest.open("POST", url, true);
        httpRequest.setRequestHeader("content-length" , data.length);
        httpRequest.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
        httpRequest.send(data);
        httpRequest.onreadystatechange = 함수 () {
            if (httpRequest.readyState == 4) {
               시도 {
                  if (httpRequest.status == 200) {
                      if (func) {
                          // 这里可以调용想要的函数
                          func(httpRequest.responseText);
                   }
                   }
> > var p;
    var vlstatCH = vlch != null && vlch.length > 0? vlch : "";
    var vlstatCH1 = vlch1 != null && vlch1.length > 0? vlch1 : "";
    var vlstatCH2 = vlch2 != null && vlch2.length > 0? vlch2 : "";
    var vlstatCH3 = vlch3 != null && vlch3.length > 0? vlch3 : "";
    var vlstatCookieId = getStatId();
    var vlstatUA = encodeURIComponent(getUA());
    var vlstatIPAddress = document.localName;
    var vlstatREFURL = encodeURIComponent(document.referrer) ;
    var vlstatURL = encodeURIComponent(document.URL);
    var vlstatScreenX = screen.width;
    var vlstatScreenY = screen.height;
    var vlstatOS = getPlatform();
    var vlstatBrower = getBrower();
    var vlstatBrowerLanguage = getBrowerLanguage();
    var vlstatPageTitle = encodeURIComponent(getPageTitle());
    var vlstatAction = "index.php";
    p = "cookieId=" vlstatCookieId " &ua=" vlstatUA "&ip=" vlstatIPAddress "&refurl="
            vlstatREFURL "&url=" vlstatURL "&screenX=" vlstatScreenX "&screenY=" vlstatScreenY
            "&os=" vlstatOS "&brower=" vlstatBrower "&browerLang=" vlstatBrowerL 언어
            "&title=" vlstatPageTitle "&ch=" vlstatCH "&ch1=" vlstatCH1 "&ch2=" vlstatCH2
            "&ch3=" vlstatCH3;
    var urlGo = vlstatAction "?" p;
    createXMLHttpRequest();
 xmlHttp.open('GET', urlGo);
 xmlHttp.send(null);
}

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。