Javascript がページ間で再実行されない

皆様、こんにちは。

私は swiper.js ライブラリを使用して回転するテーマコンポーネントを開発しました。コンポーネントの head タグ内で CDN から swiper の js/css ファイルを取得し、window.ready 関数内でページ上の要素を swiper として宣言しています。

直面している問題は、そのページに直接アクセスした場合は正常に回転するものの、Discourse サイト内のリンクをクリックしてそのページに移動した場合、最初のスライドは読み込まれるものの静止画像となり、ページをリフレッシュするまでこのコンポーネントはアニメーション(回転)しないという点です。

Discourse 内をページ間移動する際に JavaScript が再実行されず、代わりに異なるページでコンテンツが生成されるだけであることが原因ではないかと推測しています。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.