Chameleon supports Single Page Applications (SPAs) and all common front-end frameworks (e.g. React, Angular, Ember, etc.) using our URL and element matching conditions.
Chameleon requires an initial page load to identify users, but then polls regularly to check whether a tour should show based on changing criteria (page URL or user activity). There is no separate implementation work required for single-page applications.
When installing the Chameleon snippet on your SPA, make sure
chmln.identify is called when your app learns what user is on the page (likely because the user logs in or refreshes the page).
If the content of your SPA changes but no page-refresh or log-in / log-out happens, then
chmln.identify does NOT need to be called again.
chmln namespace is found within the
window scope, and can be accessed at
window.chmln in scoped frameworks.
window.chmln from Angular (or Typescript)
declare var window: any;
const chmln = window['chmln'];