Show Menu
主题×

appendList

使用 APL(或 appendList)插件,您可以为任意分隔值列表附加更多的值,同时还可选择是否执行区分大小写(或不区分大小写)检查以确保附加的值不会已存在于列表中。此 APL 插件由多个标准插件引用,但在多种情况下也可直接使用。
此插件可用于:
  • 添加事件到当前事件变量
  • 添加值到列表变量,且不重复列表中的值
  • 基于某些页面逻辑添加产品到当前产品变量
  • 添加值到参数 linkTrackVars linkTrackEvents
使用案例 1
方案
Add event1 to the current events variable while ensuring the event isn't duplicated.
s.events="scCheckout"
代码
s.events=s.apl(s.events,"event1",",",1)
结果
s.events="scCheckout,event1"
使用案例 2
方案
添加 history 值到列表变量 prop1 中,其中 history History 被视为相同的值。
s.prop1="Science,History"
代码
s.prop1=s.apl(s.prop1,"history",",",2)
结果
s.prop1="Science,History"
由于 History 已在列表中,因此未添加 history
下面的说明需要您更改网站上的数据收集代码。此操作会影响您网站上的数据收集,且只应由具有使用和实施 Analytics 经验的开发人员完成。

实施

按照以下步骤实施 APL 插件。
  1. 向客户关怀部门或当前指定的 Adobe 顾问请求插件代码。
  2. 根据需要在 s_doPlugins 函数中向 API 函数添加调用
此代码在您网站上大致如下所示:
/* Plugin Config */ 
 
s.usePlugins=true 
 
function s_doPlugins(s) { 
 
/* Add calls to plugins here */ 
 
s.events=s.apl(s.events,"event1",",",1) 
 
} 
 
s.doPlugins=s_doPlugins

支持的浏览器
此插件要求浏览器支持 JavaScript 1.0 版本。
插件信息
插件信息 描述
参数
apl((L,v,d,u)
L = 源列表,可接受空列表
v = 附加的值
d = 列表分隔符
u(可选,默认为 0)唯一值检查。0 = 不进行唯一值检查,始终附加该值。1 = 执行不区分大小写检查,仅当列表中没有该值时才附加。2 = 执行区分大小写检查,仅当列表中没有该值时才附加。
返回值
原始列表,并包含附加的值(如果已添加)
使用示例
s.events=s.apl(s.events,"event1",",",1);
此源列表 L 可以为空,例如  L="" 。返回的值将为空列表或只含一个值的列表。
插件代码
/******************************************************************** 
 * 
 * Main Plug-in code (should be in Plug-ins section) 
 * 
 *******************************************************************/ 
/* 
 * Plugin Utility: apl v1.1 
 */ 
s.apl=new Function("l","v","d","u","" 
+"var s=this,m=0;if(!l)l='';if(u){var i,n,a=s.split(l,d);for(i=0;i<a." 
+"length;i++){n=a[i];m=m||(u==1?(n==v):(n.toLowerCase()==v.toLowerCas" 
+"e()));}}if(!m)l=l?l+d+v:v;return l"); 
 
/******************************************************************** 
 * 
 * Commented example of how to use this is doPlugins function 
 * 
 *******************************************************************/ 
  
 Not Applicable - Utility function only 
 
/******************************************************************** 
 * 
 * Config variables (should be above doPlugins section) 
 * 
 *******************************************************************/ 
 
 None 
 
/******************************************************************** 
 * 
 * Utility functions that may be shared between plug-ins (name only) 
 * 
 *******************************************************************/ 
  
 s.split