كيف يمكنني تشغيل سكربت الإحصائيات المخصص الخاص بي عند كل تحميل للصفحة؟

مع العلم أن Discourse هو SPA (تطبيق الصفحة الواحدة) وبعد الاطلاع على بعض الوثائق حول هذا الموضوع، ما زلت غير متأكد من كيفية تحقيق ذلك:

  • نقوم بتضمين مكتبة JavaScript مخصصة في التذييل تتفاعل مع حل الإحصائيات الخاص بنا.
  • نريد إثراء الإحصائيات عن طريق تشغيل أحداث مخصصة عند كل “تحميل صفحة”، على سبيل المثال، كلما انتقل المستخدم إلى صفحة “جديدة”.

رمز زائف:

window.statistic = window.statistic || [];
window.statistic.push({
    action: "page.ready",
    data: {
        page: {
            path: "/c/new-to-this-forum-get-started-here/20/l/new",
            country: "WW",
            language: "en",
        }, user: {
            country: "DE",
            loginStatus: "logged_in"
        }
    } });

كيف وأين يجب أن أضع الكود في السمة المخصصة الخاصة بي لتحقيق ذلك؟

شكراً :slight_smile:

إعجاب واحد (1)

من المحتمل أن ترغب في استخدام onPageChange من واجهة برمجة تطبيقات المكون الإضافي.

في سمة، سترغب في إضافة شيء كهذا إلى javascripts/discourse/api-initializers/your-initializer.js

import { withPluginApi } from "discourse/lib/plugin-api";

export default {
  name: "custom-script-name",

  initialize() {
    withPluginApi("0.8.36", (api) => {
      api.onPageChange(() => {
        // script you want to fire on page change here
      });
    });
  },
};
3 إعجابات

شكرا لك! لقد نجح الأمر.

هل تعرف أيضًا كيف يمكنني الحصول على لغة واجهة المستخدم من إعدادات المستخدم؟

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.