cmdatatagutils.js
来自「工厂版本管理系统,STRUTS2框架,用于管理商品的版本,便于有效的控制版本」· JavaScript 代码 · 共 499 行 · 第 1/2 页
JS
499 行
* customerState : optional. State of Customer that placed this order
* customerZIP : optional. Zipcode of Customer that placed this order
*
*/
function cmCreateOrderTag(orderID,orderTotal,orderShipping,customerID,customerCity,customerState,customerZIP) {
var pattern = /[^\-0-9\.]/gi;
orderShipping = orderShipping.toString().replace(pattern, "");
orderTotal = orderTotal.toString().replace(pattern, "");
cmMakeTag(["tid","3","osk",__skuString,"on",orderID,"tr",orderTotal,"sg",orderShipping,"cd",customerID,"ct",customerCity,"sa",customerState,"zp",customerZIP]);
__skuString = "";
}
/*
* Creates a Conversion Event tag
*
* eventID : required. Conversion event ID
* actionType : required. 1=conversion initiation, 2=conversion completion
* categoryID : optional. Category for the event
* points : optional. Point value to assign to conversion.
*/
function cmCreateConversionEventTag(eventID, actionType, categoryID, points) {
cmMakeTag(["tid","14","cid",eventID,"cat",actionType,"ccid",categoryID,"cpt",points]);
}
/*
* Creates a Registration tag and/or a Newsletter tag
*
* customerID : required for Registration. ID of Customer to register.
* customerEmail : required for Newsletters. Optional for Registration.
* customerCity : optional. City of Customer that placed this order
* customerState : optional. State of Customer that placed this order
* customerZIP : optional. Zipcode of Customer that placed this order
* newsletterName : required for Newsletters. The name of the Newsletter.
* subscribe : required for Newsletters. Either "Y" or "N"
*
*/
function cmCreateRegistrationTag(customerID, customerEmail, customerCity,
customerState, customerZIP, newsletterName,
subscribe) {
cmMakeTag(["tid","2","cd",customerID,"em",customerEmail,"ct",customerCity,"sa",customerState,"zp",customerZIP,"nl",newsletterName,"sd",subscribe]);
}
/* Creates an Error Tag
*
*/
function cmCreateErrorTag(pageID, categoryID) {
if(pageID == null) {
pageID = cmGetDefaultPageID();
}
cmMakeTag(["tid","404","pi",pageID,"cg",categoryID,"pc","Y"]);
}
function cmMakeTag(__v) {
var cm = new _cm("vn2", "e4.0");
var i;
for (i = 0; i < __v.length; i += 2) {
var _n = __v[i];
var _v = __v[i + 1];
cm[_n] = _v;
}
if (cm.tid == "6") {
cm.addTP();
}
if (cm.tid == "1") {
if (cI("cmTPSet") != 'Y') {
cm.tid = "6";
cm.pc = "Y";
cm.addTP();
document.cookie = "cmTPSet=Y; path=/";
}
}
if ((cm.pi == null) && (cm.pc == "Y")) {
cm.pi = cmGetDefaultPageID();
}
if (parent.cm_ref != null) {
cm.rf = parent.cm_ref;
if (cm.pc == "Y") {
parent.cm_ref = document.URL;
}
}
// if parent had mmc variables and this is the first pageview, add mmc to this url
if(parent.cm_set_mmc) {
cm.ul = document.location.href +
((document.location.href.indexOf("?") < 0) ? "?" : "&") +
parent.cm_mmc_params;
if (cm.pc == "Y") {
parent.cm_ref = cm.ul;
parent.cm_set_mmc = false;
}
}
if (cm.ul == null) {
cm.ul = window.location.href;
}
//check for zero price and zero quantity
cmSafeZero(cm,["qt","bp","tr","sg"]);
//check for manual_cm_mmc parameter;
if (this.manual_cm_mmc != null) {
cm.ul = cm.ul + ((cm.ul.indexOf("&") == -1) ? ((cm.ul.indexOf("?") == -1) ? "?" : "&") : "&") + "cm_mmc=" + this.manual_cm_mmc;
}
// convert MMC parameters to lowercase;
cm.ul = cm.ul.replace(/cm_mmc/gi,"cm_mmc");
cm.ul = cm.ul.replace(/cm_ven/gi,"cm_ven");
cm.ul = cm.ul.replace(/cm_cat/gi,"cm_cat");
cm.ul = cm.ul.replace(/cm_pla/gi,"cm_pla");
cm.ul = cm.ul.replace(/cm_ite/gi,"cm_ite");
for(var _n in cm){
if(/pi|cg/.test(_n))
cm[_n]=(typeof(cm_locale)!="undefined"?cm_locale:"No Locale")+(cm[_n]!=null?" "+cm[_n]:"");
}
cm.writeImg();
if (cmCheckCMEMFlag) {
cmCheckCMEMFlag = false;
cmCheckCMEM();
}
}
// HELPER FUNCTIONS -----------------------------------------------------------
/* These functions are used by the tag-generating functions and/or may be used
* in in general as convenience functions
*/
/*
* Creates an acceptable default Page ID value to use for Pageview tags.
* The default Page ID is based on the URL, and consists of the path and
* filename (without the protocol, domain and query string).
*
* example:
* returns "x/y/MyPage.asp" for the URL http://www.mysite.com/x/y/MyPage.asp
*/
function cmGetDefaultPageID() {
var pageName = window.location.pathname;
// eliminates everything after "?" (for Opera browswers)
var tempIndex1 = pageName.indexOf("?");
if (tempIndex1 != -1) {
pageName = pageName.substr(0, tempIndex1);
}
// eliminates everything after "#" (for Opera browswers)
var tempIndex2 = pageName.indexOf("#");
if (tempIndex2 != -1) {
pageName = pageName.substr(0, tempIndex2);
}
// eliminates everything after ";"
var tempIndex3 = pageName.indexOf(";");
if (tempIndex3 != -1) {
pageName = pageName.substr(0, tempIndex3);
}
var slashPos = pageName.lastIndexOf("/");
if (slashPos == pageName.length - 1) {
pageName = pageName + "default.asp"; /****************** SET TO DEFAULT DOC NAME */
}
while (pageName.indexOf("/") == 0) {
pageName = pageName.substr(1,pageName.length);
}
return(pageName);
}
function cmIndexOfParameter (parameter, inString) {
return inString.indexOf(parameter);
}
function cmExtractParameter (parameter, inString) {
if (cmIndexOfParameter(parameter, inString) == -1) {
return null;
}
var s = inString;
var begin = s.indexOf(parameter);
var end = s.indexOf("&", begin);
if (end == -1) {
end = s.length;
}
var middle = s.indexOf("=", begin);
return s.substring(middle + 1, end);
}
function cmRemoveParameter (parameter, inString) {
if (cmIndexOfParameter(parameter, inString) == -1) {
return inString;
}
var s = inString;
var begin = s.indexOf(parameter);
var start = (begin - 1);
var end = s.indexOf("&", begin);
if (end == -1) {
end = s.length;
}
if (s.substring(start, begin) == "?") { // retain leading "?"
start = (start + 1);
end = (end + 1);
}
return s.substring(0, start) + s.substring(end, s.length);
}
function cmCheckCMEM() {
if (cmIndexOfParameter("cm_em",document.location.href) != -1){
var emailAddress = cmExtractParameter("cm_em",document.location.href);
cmCreateRegistrationTag(emailAddress,emailAddress);
}
if (cmIndexOfParameter("cm_lm",document.location.href) != -1){
var emailAddress = cmExtractParameter("cm_lm",document.location.href);
cmCreateRegistrationTag(emailAddress,emailAddress);
}
}
function cmSafeZero(cm, checkArray) {
// put logic here to convert number 0 to string "0"
for (i = 0; i < checkArray.length; ++i) {
if ((cm[checkArray[i]] != null) && (cm[checkArray[i]] == 0)) {
cm[checkArray[i]] = "0";
}
}
}
if (defaultNormalize == null) { var defaultNormalize = null; }
function myNormalizeURL(url, isHref) {
var newURL = url;
// ... transform newURL here ...
if (defaultNormalize != null) {
newURL = defaultNormalize(newURL, isHref);
}
return newURL;
}
// install normalization
if (document.cmTagCtl != null) {
var func = "" + document.cmTagCtl.normalizeURL;
if (func.indexOf('myNormalizeURL') == -1) {
defaultNormalize = document.cmTagCtl.normalizeURL;
document.cmTagCtl.normalizeURL = myNormalizeURL;
}
}
//-->
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?