in src/pro-src/rules.js [106:143]
initHandler() {
this.fetchHistory();
const visitsOnThisPage = this.history.timePerPage[this.url];
this.history.timePerPage[this.url] = visitsOnThisPage ? visitsOnThisPage + 1 : 1;
this.storeHistory(this.url);
this.rules.forEach((rules) => {
const trigger = rules.trigger || {};
if (trigger && (trigger.when === 'limited' || trigger.timeLimit)) {
this.storeRuleHash(rules);
}
if (trigger.eventListeners) {
if (trigger.timeOnPage) {
this.timeoutIds.push(
setTimeout(
() => window[RULES_HANDLER_SINGLETON].initEventHandler(rules),
trigger.timeOnPage * 1000
)
);
} else {
this.initEventHandler(rules);
}
// We don't want to continue and verify the conditions in that case
return;
}
if (!trigger.timeOnPage) {
this.verifyConditions(rules);
} else {
this.timeoutIds.push(
setTimeout(
() => window[RULES_HANDLER_SINGLETON].verifyConditions(rules),
trigger.timeOnPage * 1000
)
);
}
});
}