cmdatatagutils.js
来自「工厂版本管理系统,STRUTS2框架,用于管理商品的版本,便于有效的控制版本」· JavaScript 代码 · 共 499 行 · 第 1/2 页
JS
499 行
<!--
/*
* cmdatatagutils.js
* $Id: cmdatatagutils_retail.js 78183 2008-02-05 14:24:59Z etowb $
* $Revision: 78183 $
*
* Version 4.1.0
*
* Coremetrics Tag v4.0, 8/7/2006
* COPYRIGHT 1999-2002 COREMETRICS, INC.
* ALL RIGHTS RESERVED. U.S.PATENT PENDING
*
* The following functions aid in the creation of Coremetrics data tags.
*
*/
var cm_TrackLink = "A";
var cm_TrackImpressions = "S";
var cm_JSFEnabled = false;
var cmJv = "1.0";
if (typeof(isNaN) == "function") cmJv = "1.1";
if (typeof(isFinite) == "function") cmJv = "1.2";
if (typeof(NaN) == "number") cmJv = "1.3";
if (typeof(decodeURI) == "function") cmJv = "1.5";
if (typeof(Array.forEach) == "function") cmJv = "1.6";
if (typeof(Iterator) == "object") cmJv = "1.7";
var cmCheckCMEMFlag = true;
/* TAG GENERATING FUNCTIONS */
/*
* Calling this function points tags to the production database
*/
function cmSetProduction(){
cm_HOST="data.coremetrics.com/eluminate?";
// cm_JSFPCookieDomain = "somedomain.com";
}
function cmCreateManualImpressionTag(pageID, trackSP, trackRE) {
// insert code to get pageID from cmTagControl if pageID is null
cmMakeTag(["tid","9","pi",pageID,"cm_sp",trackSP,"cm_re",trackRE,"st",cm_ClientTS]);
}
function cmCreateManualLinkClickTag(href,name,pageID) {
if (cmCreateLinkTag == null && cM != null) {
var cmCreateLinkTag = cM;
}
if (cmCreateLinkTag != null) {
var dt = new Date();
cmLnkT3 = dt.getTime();
cmCreateLinkTag(cm_ClientTS, cmLnkT3, name, href, false, pageID);
}
}
/* manual PageviewTag for off site page tagging. Allows client to supply URL and Referring URL
*/
function cmCreateManualPageviewTag(pageID, categoryID,DestinationURL,ReferringURL) {
cmMakeTag(["tid","1","pi",pageID,"cg",categoryID,"ul",DestinationURL,"rf",ReferringURL]);
}
function cmCreatePageElementTag(elementID, elementCategory, pageID, pageCategoryID, elementLocation) {
cmMakeTag(["tid","15","eid",elementID,"ecat",elementCategory,"pflg","0","pid",pageID,"pcat",pageCategoryID,"eloc",elementLocation]);
}
function cmCreateProductElementTag(elementID, elementCategory, productID, productCategoryID, elementLocation) {
cmMakeTag(["tid","15","eid",elementID,"ecat",elementCategory,"pflg","1","pid",productID,"pcat",productCategoryID,"eloc",elementLocation]);
}
/*
* Creates a Tech Props tag.
* pageID : required. Page ID to set on this Pageview tag
*/
function cmCreateTechPropsTag(pageID, categoryID) {
if(pageID == null) { pageID = cmGetDefaultPageID(); }
cmMakeTag(["tid","6","pi",pageID,"cg",categoryID,"pc","Y"]);
}
/*
* Creates a Pageview tag with the given Page ID
*
* pageID : required. Page ID to set on this Pageview tag
* categoryID : optional. Category ID to set on this Pageview tag
* searchString : optional. Internal search string enterred by user to reach
* this page.
*
*
*/
function cmCreatePageviewTag(pageID, categoryID, searchString, searchResults) {
if (pageID == null) { pageID = cmGetDefaultPageID(); }
cmMakeTag(["tid","1","pi",pageID,"cg",categoryID,"se",searchString,"sr",searchResults]);
}
/*
* Creates a Pageview tag with the default value for Page ID.
* Format of Page ID is "x/y/z/MyPage.asp"
*
*
*/
function cmCreateDefaultPageviewTag(categoryID) {
cmCreatePageviewTag(cmGetDefaultPageID(), categoryID);
}
/*
* Creates a Productview Tag
* Also creates a Pageview Tag by setting pc="Y"
* Format of Page ID is "PRODUCT: <Product Name> (<Product ID>)"
*
* productID : required. Product ID to set on this Productview tag
* productName : required. Product Name to set on this Productview tag
* categoryID : optional. Category ID to set on this Productview tag
*
*
*/
function cmCreateProductviewTag(productID, productName, categoryID) {
cmMakeTag(["tid","5","pi","PRODUCT: "+productName+" ("+productID+")","pr",productID,"pm",productName,"cg",categoryID,"pc","Y"]);
}
/*
* Variables and Arrays to support Lineitem Aggregation
*/
var __sArray = new Array();
var __skuString = "";
function __cmGetPI(__id){
var __pI;
for (__pI = 0; __pI < __sArray.length; ++__pI) {
if (__id == __sArray[__pI][1]) return __pI;
}
return -1;
}
function __cmGetPIPC(__pr,__cg) {
var __pI;
for (__pI = 0; __pI < __sArray.length; ++__pI) {
if (__pr == __sArray[__pI][1] && __cg == __sArray[__pI][9]) return __pI;
}
return -1;
}
function cmAddShop(__v) {
//var __i = __cmGetPIPC(__v[1],__v[9]); /* uncomment for productID-categoryID aggregation */
var __i = __cmGetPI(__v[1]); /* uncomment for productID aggregation */
if (__i == -1) {
__sArray[__sArray.length] = __v;
}
else {
var __oQ = __sArray[__i][5];
var __oP = __sArray[__i][7];
__sArray[__i][5] = parseInt(__sArray[__i][5]) + parseInt(__v[5]);
__sArray[__i][7] = (((__v[7]*__v[5])+(__oP*__oQ))/__sArray[__i][5]);
}
}
/*
* Creates a Shop tag with Action 5 (Shopping Cart)
*
* productID : required. Product ID to set on this Shop tag
* quantity : required. Quantity to set on this Shop tag
* productPrice : required. Price of one unit of this product
* categoryID : optional. Category to set on this Shop tag
*
*
*/
function cmCreateShopAction5Tag(productID,productName,productQuantity,productPrice,categoryID) {
var pattern = /[^\-0-9\.]/gi;
productPrice = productPrice.toString().replace(pattern, "");
cmAddShop(["pr",productID,"pm",productName,"qt",productQuantity,"bp",productPrice,"cg",categoryID,"at","5","tid","4","pc","N"]);
}
/*
* Creates a Shop tag with Action 9 (Order Receipt / Confirmed)
*
* productID : required. Product ID to set on this Shop tag
* productName : required. Product Name to set on this Shop tag
* quantity : required. Quantity to set on this Shop tag
* productPrice : required. Price of one unit of this product
* customerID : required. ID of customer making the purchase
* orderID : required. ID of order this lineitem belongs to
* orderTotal : required. Total price of order this lineitem belongs to
* categoryID : optional. Category to set on this Shop tag
*
*/
function cmCreateShopAction9Tag(productID,productName,productQuantity,productPrice,customerID,orderID,orderTotal,categoryID) {
var pattern = /[^\-0-9\.]/gi;
productPrice = productPrice.toString().replace(pattern, "");
orderTotal = orderTotal.toString().replace(pattern, "");
cmAddShop(["pr",productID,"pm",productName,"qt",productQuantity,"bp",productPrice,"cg",categoryID,"cd",customerID,"on",orderID,"tr",orderTotal,"at","9","tid","4","pc","N"]);
cmCalcSKUString();
}
function cmDisplayShop5s() {
cmDisplayShops();
}
function cmDisplayShop9s() {
cmCalcSKUString();
cmDisplayShops();
}
function cmCalcSKUString() {
__skuString = "";
var __skuStringArray = new Array();
for (i = 0; i < __sArray.length; ++i) {
// aggregate
var __skuStringArrayIndex = -1;
for (y = 0; y < __skuStringArray.length; ++y) {
if (__sArray[i][1] == __skuStringArray[y][0] ) {
__skuStringArrayIndex = y;
}
}
if (__skuStringArrayIndex == -1) {
// it doesn't exist, so add it
var newArrayIndex = __skuStringArray.length;
__skuStringArray[newArrayIndex] = new Array();
__skuStringArray[newArrayIndex][0] = __sArray[i][1];
__skuStringArray[newArrayIndex][1] = __sArray[i][7];
__skuStringArray[newArrayIndex][2] = __sArray[i][5];
}
else {
// it exists, so update it
var __oP = __skuStringArray[__skuStringArrayIndex][1];
var __oQ = __skuStringArray[__skuStringArrayIndex][2];
__skuStringArray[__skuStringArrayIndex][2] = parseInt(__sArray[i][5]) + __oQ;
__skuStringArray[__skuStringArrayIndex][1] = (((__sArray[i][7]*__sArray[i][5])+(__oP*__oQ))/__sArray[i][5]);
}
}
for (x = 0; x < __skuStringArray.length; ++x) {
__skuString += "|"+__skuStringArray[x][0]+"|"+__skuStringArray[x][1]+"|"+__skuStringArray[x][2]+"|";
}
}
function cmDisplayShops() {
var i;
for (i = 0; i < __sArray.length; ++i) {
cmMakeTag(__sArray[i]);
}
__sArray = new Array();
}
/*
* Creates an Order tag
*
* orderID : required. Order ID of this order
* orderTotal : required. Total of this order (minus tax and shipping)
* orderShipping : required. Shipping charge for this order
* customerID : required. Customer ID that placed this order
* customerCity : optional. City of Customer that placed this order
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?