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
- Ponovo skenira DOM tražeći nove
data-os-categoryelemente - Šalje session beacon ako je kolačić sesije istekao
- Šalje
OptSensPageViewdogađaj u GTM dataLayer - Emituje
route_changedogađaj