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

مرحباً بالجميع،

لقد قمت بتطوير مكون موضوع يستخدم مكتبة swiper.js للتمرير. في وسم head الخاص بالمكون، أقوم بجلب ملفات swiper.js و swiper.css من CDN، وأعلن عن العنصر كـ swiper داخل دالة window.ready.

المشكلة التي أواجهها هي أن التمرير يعمل بشكل صحيح عند الانتقال مباشرة إلى تلك الصفحة، ولكن إذا نقرت على أي رابط في موقع Discourse ينقلك إلى تلك الصفحة، فإن الشريحة الأولى تُحمّل كصورة ثابتة، ولا يقوم هذا المكون بالتحريك (التمرير) إلا بعد تحديث الصفحة.

أعتقد أن السبب قد يكون في أن كود JavaScript لا يُعاد تشغيله عند التنقل بين الصفحات في Discourse، بل يتم فقط توليد محتوى مختلف في الصفحات. هل هذا هو كيفية عمل Discourse؟ وإذا كان كذلك، هل توجد طريقة لتجاوز هذه المشكلة؟

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

يجب عليك وضع هذا الكود في مكون سمة:

<script type="text/discourse-plugin" version="0.8">
    api.onPageChange(() =>{
        callYourFunctionHere();
    });
</script>
إعجاب واحد (1)

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