JavaScript не перезапускается между разными страницами

Всем привет,

Я разработал компонент темы, который использует библиотеку swiper.js для ротации. В теге head моего компонента я загружаю файлы JS/CSS swiper.js с CDN, а также объявляю элемент на странице как слайдер внутри функции window.ready.

Проблема, с которой я столкнулся, заключается в том, что ротация работает корректно при прямом переходе на эту страницу. Однако, если перейти на эту страницу, кликнув по любой ссылке на сайте Discourse, первый слайд загружается как статичное изображение, и компонент не анимируется (не вращается) до тех пор, пока вы не обновите страницу.

Подозреваю, что это связано с тем, что JavaScript не выполняется повторно при навигации между страницами в Discourse — вместо этого контент просто генерируется для разных страниц. Так ли это устроено в Discourse и, если да, есть ли какое-то решение этой проблемы?

Вам нужно поместить этот код в компонент темы:

<script type="text/discourse-plugin" version="0.8">
    api.onPageChange(() =>{
        callYourFunctionHere();
    });
</script>