I cannot find documentations for this function anywhere, I am using version 1.7
s.crossVisitParticipation = new Function("v", "cn", "ex", "ct", "dl", "ev", "dv", ""
+ "var s=this,ce;if(typeof(dv)==='undefined')dv=0;if(s.events&a开发者_Go百科mp;&ev){var"
+ " ay=s.split(ev,',');var ea=s.split(s.events,',');for(var u=0;u<ay.l"
+ "ength;u++){for(var x=0;x<ea.length;x++){if(ay[u]==ea[x]){ce=1;}}}}i"
+ "f(!v||v==''){if(ce){s.c_w(cn,'');return'';}else return'';}v=escape("
+ "v);var arry=new Array(),a=new Array(),c=s.c_r(cn),g=0,h=new Array()"
+ ";if(c&&c!=''){arry=s.split(c,'],[');for(q=0;q<arry.length;q++){z=ar"
+ "ry[q];z=s.repl(z,'[','');z=s.repl(z,']','');z=s.repl(z,\"'\",'');arry"
+ "[q]=s.split(z,',')}}var e=new Date();e.setFullYear(e.getFullYear()+"
+ "5);if(dv==0&&arry.length>0&&arry[arry.length-1][0]==v)arry[arry.len"
+ "gth-1]=[v,new Date().getTime()];else arry[arry.length]=[v,new Date("
+ ").getTime()];var start=arry.length-ct<0?0:arry.length-ct;var td=new"
+ " Date();for(var x2=start;x2<arry.length;x2++){var diff=Math.round((td."
+ "getTime()-arry[x2][1])/86400000);if(diff<ex){h[g]=unescape(arry[x2][0"
+ "]);a[g]=[arry[x2][0],arry[x2][1]];g++;}}var data=s.join(a,{delim:',',"
+ "front:'[',back:']',wrap:\"'\"});s.c_w(cn,data,e);var r=s.join(h,{deli"
+ "m:dl});if(ce)s.c_w(cn,'');return r;");
here is my calling code.
s.eVar33 = s.crossVisitParticipation(s.campaign, 's_evar33', '30', '10', '>', 'purchase');
It keeps returning nothing, help would be appreciated. Thanks
This plugin is not supposed to be used except with the support of your Omniture Implementation Consultant. However having said that, this is what I have:
/* Plug-in Example: crossVisitParticipation v1.7
In the following sample call:
A list of s.campaign values will be returned. New s.campaign values will be appended to
the list. The list will be stored in a cookie named "s_ev22". Each s.campaign value will
be stored for 30 days and a maximum of 5 values will be stored in the campaigns list. If
event2 is set the list will be cleared, and sequential duplicate values are allowed.
s.eVar22=s.crossVisitParticipation(s.campaign,'s_ev22','30','5','>','event2',1);
*/
Also note that you need to have the Replace plugin for it to work.
/*
* Plug-in: crossVisitParticipation v1.7 - stacks values from
* specified variable in cookie and returns value
*/
s.crossVisitParticipation=new Function("v","cn","ex","ct","dl","ev","dv",""
+"var s=this,ce;if(typeof(dv)==='undefined')dv=0;if(s.events&&ev){var"
+" ay=s.split(ev,',');var ea=s.split(s.events,',');for(var u=0;u<ay.l"
+"ength;u++){for(var x=0;x<ea.length;x++){if(ay[u]==ea[x]){ce=1;}}}}i"
+"f(!v||v==''){if(ce){s.c_w(cn,'');return'';}else return'';}v=escape("
+"v);var arry=new Array(),a=new Array(),c=s.c_r(cn),g=0,h=new Array()"
+";if(c&&c!=''){arry=s.split(c,'],[');for(q=0;q<arry.length;q++){z=ar"
+"ry[q];z=s.repl(z,'[','');z=s.repl(z,']','');z=s.repl(z,\"'\",'');arry"
+"[q]=s.split(z,',')}}var e=new Date();e.setFullYear(e.getFullYear()+"
+"5);if(dv==0&&arry.length>0&&arry[arry.length-1][0]==v)arry[arry.len"
+"gth-1]=[v,new Date().getTime()];else arry[arry.length]=[v,new Date("
+").getTime()];var start=arry.length-ct<0?0:arry.length-ct;var td=new"
+" Date();for(var x=start;x<arry.length;x++){var diff=Math.round((td."
+"getTime()-arry[x][1])/86400000);if(diff<ex){h[g]=unescape(arry[x][0"
+"]);a[g]=[arry[x][0],arry[x][1]];g++;}}var data=s.join(a,{delim:',',"
+"front:'[',back:']',wrap:\"'\"});s.c_w(cn,data,e);var r=s.join(h,{deli"
+"m:dl});if(ce)s.c_w(cn,'');return r;");
/*
* Plugin Utility: Replace v1.0
*/
s.repl=new Function("x","o","n",""
+"var i=x.indexOf(o),l=n.length;while(x&&i>=0){x=x.substring(0,i)+n+x."
+"substring(i+o.length);i=x.indexOf(o,i+l)}return x");
精彩评论