Client Context Javascript API

CQ_Analytics.ClientContextMgr

CQ_Analytics.ClientContextMgr对象是一个单一实例,它包含一组自注册的会话存储,并提供用于注册、持久和管理会话存储的方法。

扩展CQ_Analytics.PersistedSessionStore。

方法

getRegisteredStore(name)

返回指定名称的会话存储。 另请参阅访问会话存储

参数

  • name:字符串。 会话存储的名称。

退货

一个CQ_Analytics.SessionStore对象,它表示给定名称的会话存储。 当给定名称不存在存储时返回null

register(sessionstore)

使用Client Context注册会话存储。 完成时触发storeregister和storeupdate事件。

参数

  • sessionstore:CQ_Analytics.SessionStore。 要注册的会话存储对象。

退货

没有返回值。

CQ_Analytics.ClientContextUtils

提供侦听会话存储激活和注册的方法。 另请参阅检查是否定义了会话存储并已初始化

方法

onStoreInitialized(storeName, callback, delay)

注册在初始化会话存储时调用的回调函数。 对于多次初始化的存储,请指定回调延迟,以便只调用一次回调函数:

  • 当存储器在前一初始化的延迟期间被初始化时,取消前一函数调用,并且再次调用该函数以用于当前初始化。
  • 如果延迟期在后续初始化发生之前过期,则执行两次回调函数。

例如,会话存储基于JSON对象,并通过JSON请求进行检索。 可以采用以下初始化方案:

  • 完成请求,检索数据并加载到存储中。 在这种情况下,初始化只进行一次。
  • 请求失败(超时)。 在这种情况下,不会进行初始化,并且存储中没有数据。
  • 存储预填充了默认值(init属性),但请求失败(超时)。 只有一个具有默认值的初始化。
  • 存储已预填充。

当延迟设置为true或毫秒数时,该方法会在调用回调方法之前等待。 如果在延迟通过之前触发了另一个初始化事件,则它将等待到超出延迟时间时,而没有初始化事件。 这使得能够等待第二个初始化事件被触发,并在最优情况下调用回调函数。

参数

  • storeName:字符串。 要添加侦听器的会话存储的名称。
  • 回调:函数。 存储初始化时要调用的函数。
  • 延迟:布尔值或数字。 延迟调用回调函数的时间(以毫秒为单位)。 布尔值true使用默认延迟200 ms。 布尔值false或负数不导致使用延迟。

退货

没有返回值。

onStoreRegistered(storeName, callback)

注册在注册会话存储时调用的回调函数。 将存储注册到CQ_Analytics.ClientContextMgr时,将发生注册事件。

参数

  • storeName:字符串。 要添加侦听器的会话存储的名称。
  • 回调:函数。 存储初始化时要调用的函数。

退货

没有返回值。

CQ_Analytics.JSONPStore

包含JSON数据的非持久会话存储。 从外部JSONP服务检索数据。 使用getInstancegetRegisteredInstance方法创建此类的实例。

扩展CQ_Analytics.JSONStore。

属性

有关继承的属性,请参阅CQ_Analytics.JSONStore和CQ_Analytics.SessonStore。

方法

另请参阅CQ_Analytics.JSONStore和CQ_Analytics.SessonStore,以了解继承的方法。

getInstance(storeName, serviceURL, dynamicData, deferLoading, loadingCallback)

创建CQ_Analytics.JSONPStore对象。

参数

  • storeName:字符串。 用作STORENAME属性的名称。 STOREKEY属性的值设置为storeName,并包含所有大写字符。 如果未提供storeName,则此方法返回null。
  • serviceURL:字符串。 JSONP服务的URL
  • dynamicData:(可选)对象。 在调用回调函数之前要附加到存储的初始化数据的JSON数据。
  • deferLoading:(可选)布尔值。 值为true可防止在创建对象时调用JSONP服务。 值false将导致调用JSONP服务。
  • loadingCallback:(可选)字符串。 用于处理JSONP服务返回的JSONP对象的函数的名称。 回调函数必须定义一个参数,该参数是CQ_Analytics.JSONPStore对象。

退货

新的CQ_Analytics.JSONPStore对象,如果storeName为null,则为null。

getServiceURL()

检索此对象用于检索JSON数据的JSONP服务的URL。

参数

无.

退货

表示服务URL的字符串;如果未配置服务URL,则为null。

load(serviceURL, dynamicData, callback)

调用JSONP服务。 JSONP URL是后缀为给定回调函数名的服务URL。

参数

  • serviceURL:(可选)字符串。 要呼叫的JSONP服务。 值为null将使用已配置的服务URL。 非null值设置要用于此对象的JSONP服务。 (请参阅setServiceURL。)
  • dynamicData:(可选)对象。 在调用回调函数之前要附加到存储的初始化数据的JSON数据。
  • 回调:(可选)字符串。 用于处理JSONP服务返回的JSONP对象的函数的名称。 回调函数必须定义一个参数,该参数是CQ_Analytics.JSONPStore对象。

退货

没有返回值。

registerNewInstance(storeName, serviceURL, dynamicData, callback)

创建CQ_Analytics.JSONPStore对象,并使用Client Context注册存储。

参数

  • storeName:字符串。 用作STORENAME属性的名称。 STOREKEY属性的值设置为storeName,并包含所有大写字符。 如果未提供storeName,则此方法返回null。
  • serviceURL:(可选)字符串。 JSONP服务的URL。
  • dynamicData:(可选)对象。 在调用回调函数之前要附加到存储的初始化数据的JSON数据。
  • 回调:(可选)字符串。 用于处理JSONP服务返回的JSONP对象的函数的名称。 回调函数必须定义一个参数,该参数是CQ_Analytics.JSONPStore对象。

退货

已注册的CQ_Analytics.JSONPStore对象。

setServiceURL(serviceURL)

设置用于检索JSON数据的JSONP服务的URL。

参数

  • serviceURL:字符串。 提供JSON数据的JSONP服务的URL

退货

没有返回值。

CQ_Analytics.JSONStore

JSON对象的容器。 创建此类的实例,以创建包含JSON数据的非持久会话存储:

myjsonstore = new CQ_Analytics.JSONStore

您可以定义一组数据,在初始化时填充存储。

扩展CQ_Analytics.SessionStore。

属性

STOREKEY

标识存储的键。 使用getInstance方法检索此值。

STORENAME

商店的名称。 使用getInstance方法检索此值。

方法

另请参阅CQ_Analytics.SessionStore,以了解继承的方法。

清除()

删除会话存储数据并删除所有初始化属性。

参数

无.

退货

没有返回值。

getInstance(storeName, jsonData)

使用给定名称创建CQ_Analytics.JSONStore对象,并使用给定JSON数据(调用initJSON方法)进行初始化。

参数

  • storeName:字符串。 用作STORENAME属性的名称。 STOREKEY属性的值设置为storeName,并包含所有大写字符。
  • jsonData:对象。 包含JSON数据的对象。

退货

CQ_Analytics.JSONStore对象。

getJSON()

以JSON格式检索会话存储的数据。

参数

无.

退货

以JSON格式表示存储数据的对象。

init()

清除会话存储,并使用初始化属性初始化它。 将初始化标志设置为true,然后触发initializeupdate事件。

参数

无.

退货

没有返回的数据。

initJSON(jsonData, doNotClear)

从JSON对象中的数据创建初始化属性。 您可以选择删除所有现有的初始化属性。

属性名称是从JSON对象中数据的层次中派生的。 以下示例代码表示JSON对象:

{
A: "valueA",
B: {
     B1: "valueBB1"
    }
}

在此示例中,将在存储中创建以下属性:

A: "valueA"
B/B1: "valueBB1"

参数

  • jsonData:包含要存储的数据的JSON对象。
  • doNotClear:值true保留现有初始化属性并添加从JSON对象派生的属性。 值为false将先删除现有初始化属性,然后再添加从JSON对象派生的属性。

退货

没有返回值。

registerNewInstance(storeName, jsonData)

使用给定名称创建CQ_Analytics.JSONStore对象,并使用给定JSON数据(调用initJSON方法)进行初始化。 新对象会自动注册到Clickstream Cloud Manager。

参数

  • storeName:字符串。 用作STORENAME属性的名称。 STOREKEY属性的值设置为storeName,并包含所有大写字符。
  • jsonData:对象。 包含JSON数据的对象。

退货

CQ_Analytics.JSONStore对象。

CQ_Analytics.可观察

触发事件并允许其他对象侦听这些事件并做出响应。 扩展此类的类会触发导致调用侦听器的事件。

方法

addListener(事件, fct, scope)

为事件注册侦听器。 另请参阅创建侦听器以对会话存储更新做出响应

参数

  • 事件:字符串。 要侦听的事件的名称。
  • fct:函数。 发生事件时调用的函数。
  • 范围:(可选)对象。 执行处理函数的范围。 处理函数的“this”上下文。

退货

没有返回值。

removeListener(事件, fct)

删除事件的给定事件处理函数。

参数

  • 事件:字符串。 事件的名称。
  • fct:函数。 事件处理程序。

退货

没有返回值。

CQ_Analytics.PersistedJSONPStore

从远程JSONP服务检索的JSON对象的持久容器。

扩展CQ_Analytics.PersistedJSONStore。

方法

另请参阅CQ_Analytics.PersistedJSONStore以了解继承的方法。

getInstance(storeName, serviceURL, dynamicData, deferLoading, loadingCallback)

创建CQ_Analytics.PersitedJSONPStore对象。

参数

  • storeName:字符串。 用作STORENAME属性的名称。 STOREKEY属性的值设置为storeName,并包含所有大写字符。 如果未提供storeName,则此方法返回null。
  • serviceURL:字符串。 JSONP服务的URL
  • dynamicData:(可选)对象。 在调用回调函数之前要附加到存储的初始化数据的JSON数据。
  • deferLoading:(可选)布尔值。 值为true可防止在创建对象时调用JSONP服务。 值false将导致调用JSONP服务。
  • loadingCallback:(可选)字符串。 用于处理JSONP服务返回的JSONP对象的函数的名称。 回调函数必须定义一个参数,该参数是CQ_Analytics.JSONPStore对象。

退货

新的CQ_Analytics.PersistedJSONPStore对象,或如果storeName为null,则为null。

getServiceURL()

检索此对象用于检索JSON数据的JSONP服务的URL。

参数

无.

退货

表示服务URL的字符串;如果未配置服务URL,则为null。

load(serviceURL, dynamicData, callback)

调用JSONP服务。 JSONP URL是后缀为给定回调函数名的服务URL。

参数

  • serviceURL:(可选)字符串。 要呼叫的JSONP服务。 值为null将使用已配置的服务URL。 非null值设置要用于此对象的JSONP服务。 (请参阅setServiceURL。)
  • dynamicData:(可选)对象。 在调用回调函数之前要附加到存储的初始化数据的JSON数据。
  • 回调:(可选)字符串。 用于处理JSONP服务返回的JSONP对象的函数的名称。 回调函数必须定义一个参数,该参数是CQ_Analytics.JSONPStore对象。

退货

没有返回值。

registerNewInstance(storeName, serviceURL, dynamicData, callback)

创建CQ_Analytics.PersistedJSONPStore对象,并使用Client Context注册存储。

参数

  • storeName:字符串。 用作STORENAME属性的名称。 STOREKEY属性的值设置为storeName,并包含所有大写字符。 如果未提供storeName,则此方法返回null。
  • serviceURL:(可选)字符串。 JSONP服务的URL。
  • dynamicData:(可选)对象。 在调用回调函数之前要附加到存储的初始化数据的JSON数据。
  • 回调:(可选)字符串。 用于处理JSONP服务返回的JSONP对象的函数的名称。 回调函数必须定义一个参数,该参数是CQ_Analytics.JSONPStore对象。

退货

已注册的CQ_Analytics.PersistedJSONPStore对象。

setServiceURL(serviceURL)

设置用于检索JSON数据的JSONP服务的URL。

参数

  • serviceURL:字符串。 提供JSON数据的JSONP服务的URL

退货

没有返回值。

CQ_Analytics.PersistedJSONStore

JSON对象的持久容器。

扩展CQ_Analytics.PersistedSessionStore

属性

STOREKEY

标识存储的键。 使用getInstance方法检索此值。

STORENAME

商店的名称。 使用getInstance方法检索此值。

方法

另请参阅CQ_Analytics.PersistedSessionStore,以了解继承的方法。

getInstance(storeName, jsonData)

使用给定名称创建CQ_Analytics.PersistedJSONStore对象,并使用给定的JSON数据(调用initJSON方法)进行初始化。

参数

  • storeName:字符串。 用作STORENAME属性的名称。 STOREKEY属性的值设置为storeName,并包含所有大写字符。
  • jsonData:对象。 包含JSON数据的对象。

退货

CQ_Analytics.PersistedJSONStore对象。

getJSON()

以JSON格式检索会话存储的数据。

参数

无.

退货

以JSON格式表示存储数据的对象。

initJSON(jsonData, doNotClear)

从JSON对象中的数据创建初始化属性。 您可以选择删除所有现有的初始化属性。

属性名称是从JSON对象中数据的层次中派生的。 以下示例代码表示JSON对象:

{
A: "valueA",
B: {
     B1: "valueBB1"
    }
}

在此示例中,将在存储中创建以下属性:

A: "valueA"
B/B1: "valueBB1"

参数

  • jsonData:包含要存储的数据的JSON对象。
  • doNotClear:值true保留现有初始化属性并添加从JSON对象派生的属性。 值为false将先删除现有初始化属性,然后再添加从JSON对象派生的属性。

退货

没有返回值。

registerNewInstance(storeName, jsonData)

使用给定名称创建CQ_Analytics.PersistedJSONStore对象,并使用给定JSON数据(调用initJSON方法)进行初始化。 新对象将自动注册到Client Context Manager。

参数

  • storeName:字符串。 用作STORENAME属性的名称。 STOREKEY属性的值设置为storeName,并包含所有大写字符。
  • jsonData:对象。 包含JSON数据的对象。

退货

CQ_Analytics.PersistedJSONStore对象。

CQ_Analytics.PersistedSessionStore

属性和值的容器。 数据将使用CQ_Analytics.SessionPersistence进行保留。 创建此类的实例以创建持久会话存储:

mypersistedstore = new CQ_Analytics.PersistedSessionStore

扩展CQ_Analytics.SessionStore。

属性

STOREKEY

默认值为 key.

方法

有关继承的方法,请参阅CQ_Analytics.SessionStore。

当使用继承的方法clearsetPropertysetPropertiesremoveProperty来更改存储数据时,将自动保留更改,除非将更改的属性标记为notPersisted。

getStoreKey()

检索STOREKEY属性。

参数

退货

STOREKEY属性的值。

isPersisted(name)

确定是否保留数据属性。

参数

  • name:字符串。 属性的名称。

退货

一个布尔值:如果属性持续存在,则为true;如果值不是持久属性,则为false

persist(

持续会话存储。 默认持久性模式使用浏览器localStorage,使用ClientSidePersistence作为名称(window.localStorage.set("ClientSidePersistance", store);)

如果localStorage不可用或不可写,则存储将作为窗口的属性保留。

完成时触发persist事件。

参数

退货

没有返回值。

reset(deferEvent)

从存储中删除所有数据属性并保留存储。 (可选)完成后不触发udpate事件。

参数

  • deferEvent:值为true可防止触发update事件。 值false导致更新事件触发。

退货

没有返回值。

setNonPersisted(name)

将数据属性标记为未保留。

参数

  • name:字符串。 不要保留的属性的名称。

退货

没有返回值。

CQ_Analytics.SessionStore

CQ_Analytics.SessionStore表示会话存储。 创建此类的实例以创建会话存储:

mystore = new CQ_Analytics.SessionStore

扩展CQ_Analytics.Ovebable。

属性

STORENAME

会话存储的名称。 使用getName检索此属性的值。

方法

addInitProperty(name, value)

向会话存储初始化数据添加属性和值。

使用loadInitProperties用初始化值填充会话存储数据。

参数

  • name:字符串。 要添加的属性的名称。
  • value:字符串。 要添加的属性的值。

退货

没有返回值。

清除()

从存储中删除所有数据属性。

参数

无.

退货

没有返回值。

getData(excluded)

返回存储数据。 (可选)从数据中排除名称属性。 如果存储的data属性不存在,则调用init方法。

参数

excluded:(可选)要从返回的数据中排除的属性名称数组。

退货

属性及其值的对象。

getInitProperty(name)

检索数据属性的值。

参数

  • name:字符串。 要检索的数据属性的名称。

退货

data属性的值。 如果会话存储不包含给定名称的属性,则返回null

getName()

返回会话存储的名称。

参数

无.

退货

表示存储名称的字符串值。

getProperty(name, raw)

返回属性的值。 该值将作为原始属性或XSS筛选的值返回。 如果存储的data属性不存在,则调用init方法。

参数

  • name:字符串。 要检索的数据属性的名称。
  • raw:布尔型。 值为true将返回原始属性值。 值为false将使返回的值进行XSS筛选。

退货

data属性的值。

getPropertyNames(excluded)

返回会话存储所包含属性的名称。 如果存储的data属性不存在,则调用init方法。

参数

excluded:(可选)要从结果中忽略的属性名称数组。

退货

表示会话属性名称的字符串值的数组。

getSessionStore()

返回附加到当前对象的会话存储。

参数

无.

退货

这个

init()

将存储标记为已初始化,并触发initialize事件。

参数

无.

退货

没有返回值。

isInitialized()

指示会话存储是否已初始化。

参数

无.

退货

如果存储已初始化,则值为true;如果存储未初始化,则值为false

loadInitProperties(obj, setValues)

将给定对象的属性添加到会话存储的初始化数据中。 或者,对象数据也被添加到存储数据。

参数

  • obj:包含可枚举属性的对象。
  • setValues:如果为true,则当存储数据不包含同名的属性时,obj属性将添加到会话存储数据。 如果为false,则不向会话存储数据添加任何数据。

退货

没有返回值。

removeProperty(name)

从会话存储中删除属性。 完成时触发update事件。 如果存储的data属性不存在,则调用init方法。

参数

  • name:字符串。 要删除的属性的名称。

退货

没有返回值。

重置()

恢复数据存储的初始值。 默认实现只删除所有数据。 完成时触发update事件。

参数

无.

退货

没有返回值。

setProperties(properties)

设置多个属性的值。 完成时触发update事件。 如果存储的data属性不存在,则调用init方法。

参数

  • 属性:对象。 包含可枚举属性的对象。 每个属性名称和值都会添加到存储中。

退货

没有返回值。

setProperty(name, value)

设置属性的值。 完成时触发update事件。 如果存储的data属性不存在,则调用init方法。

参数

  • name:字符串。 属性的名称。
  • value:字符串。 属性值。

退货

没有返回值。

On this page

Adobe Summit Banner

A virtual event April 27-28.

Expand your skills and get inspired.

Register for free
Adobe Summit Banner

A virtual event April 27-28.

Expand your skills and get inspired.

Register for free
Adobe Maker Awards Banner

Time to shine!

Apply now for the 2021 Adobe Experience Maker Awards.

Apply now
Adobe Maker Awards Banner

Time to shine!

Apply now for the 2021 Adobe Experience Maker Awards.

Apply now