Implement conditional initialization
Some application situations need to initiate and terminate the capture functionality on various runtimes. For example, an application might require user consent before it begins capturing analytics data.
Prerequisites
The Web SDK is normally required to capture all user interactions from page load to page unload. However, it may be desirable to initiate and terminate this capture functionality in certain application situations depending on various runtime variables.
For example, consider an application that requires user consent before it begins capturing analytics data. In such a case, the application can choose to implement its application-specific user interface to obtain such consent. If consent is given, then the application can invoke the initialization process of the Web SDK.
- Locate the Web SDK configuration section. This section is normally found towards the end of the Tealeaf SDK JavaScript file.
- Replace the anonymous self-executing function, which invokes the
TLT.init()
API with a named function that can be called at a later stage from within the application.
function initTealeafUIC() {
"use strict";
var TLT =
window.TLT,
changeTarget;
if (TLT.getFlavor() ===
"w3c" &&
TLT.utils.isLegacyIE) {
changeTarget =
"input, select, textarea, button";
}
TLT.init({
core: {
modules: {
overstat: {
events: [{
name: "click",
recurseFrames: true
},
{
name: "mousemove",
recurseFrames: true
},
{
name: "mouseout",
recurseFrames: true
},
{
name: "submit",
recurseFrames: true
}
]
}
})
}
- With this change, the Tealeaf Web SDK will not initialize automatically on page load.
Rather, the named function initTealeafUIC()
has to be explicitly invoked by the application in order to initialize Web SDK. The application can choose to invoke this function based on any runtime condition.
Once initialized, the SDK will continue operation until page unload. To terminate the SDK at any time, invoke the TLT.destroy()
API.
Updated 4 months ago