Pređi na glavni sadržaj

SPA podrška

U single-page aplikaciji CMP mora da zna za promene rute da bi obradio novi sadržaj i ispravno pratio sesije.

Opcija 1: ručno (preporučeno)

Pozovite onRouteChange() iz rukovaoca promene rute vašeg rutera:

// React Router
useEffect(() => {
OptSens.onRouteChange();
}, [location.pathname]);

// Vue Router
router.afterEach(() => {
OptSens.onRouteChange();
});

// Next.js (Pages Router)
Router.events.on('routeChangeComplete', () => {
OptSens.onRouteChange();
});

// Next.js (App Router), usePathname from 'next/navigation'
const pathname = usePathname();
useEffect(() => {
OptSens.onRouteChange();
}, [pathname]);

Opcija 2: automatska detekcija

Automatski otkriva promene rute presretanjem history.pushState i replaceState i osluškivanjem kretanja napred i nazad u browseru:

OptSens.on('ready', function () {
OptSens.enableSpaAutoDetect();
});

Šta onRouteChange() radi

  1. Ponovo skenira DOM tražeći nove data-os-category elemente
  2. Šalje session beacon ako je kolačić sesije istekao
  3. Šalje OptSensPageView događaj u GTM dataLayer
  4. Emituje route_change događaj