autoPageview المعتاد مرة واحدة فقط — عند التحميل الأول. يوضح هذا الدليل كيفية التعامل مع التتبع بشكل صحيح في React وNext.js وVue.
الفرق الجوهري في تطبيقات SPA
في الموقع التقليدي، يؤدي كل تنقّل إلى إعادة تحميل كاملة تعيد تشغيل SDK وتُطلق حدثpageview. أما في تطبيق SPA:
- تُحمَّل الصفحة مرة واحدة
- تتم عمليات التنقّل اللاحقة عبر JavaScript (يتغيّر الرابط دون إعادة تحميل الصفحة)
- يُطلَق
autoPageviewعند ذلك التحميل الأول فقط - عليك إطلاق حدث
pageviewيدويًا عند كل تغيّر للمسار
قواعد عامة لكل تطبيقات SPA
- حمّل نص SDK مرة واحدة — في ملف HTML الجذر أو المكوّن الجذر، لا في كل مكوّن صفحة أو مسار
- استدعِ
scanova('init', ...)مرة واحدة — في نقطة دخول تطبيقك - عطّل
autoPageview— وتولَّ بنفسك أحداث مشاهدة الصفحة عند تغيّر المسار - أطلق
scanova('track', 'pageview')عند كل تغيّر للمسار — باستخدام حدث التنقّل أو الخطّاف الخاص بالموجّه لديك
React (Create React App / Vite)
public/index.html — لتحميل SDK:
src/main.jsx أو src/App.jsx — للتهيئة مرة واحدة وتتبّع تغيّرات المسار:
Next.js (App Router)
في App Router الخاص بـ Next.js، استخدم مكوّن عميل داخل التخطيط الجذر لديك.app/layout.tsx:
components/ScanovaTracker.tsx:
Next.js (Pages Router)
pages/_app.tsx:
pages/_document.tsx:
Vue 3 (Vue Router)
index.html — لتحميل SDK:
src/main.ts: