WEMOブログ向けWordPressテーマ「SWELL」をリリースしました!コピペで終わらない、本質的な理解を目指した知識整理のメモをお届け。ページの読み込みごとに動作したりしなかったりする謎の現象に悩まされました。キャッシュをクリアした時は正常に動作するのに、普通の更新では全く動作しない。コンソールを見てもエラーログは出ていない。これまで通り記述しているのにconsole.log()さえ動かない...。非常に焦ったのでその時の原因と対処法をメモしておきます。結論から言うと、使用するjQueryのバージョンを3に変えたことが原因でした。jQuery3での変更点を分かりやすくまとめてくれているQiitaのページを見てみると、document-ready処理が追加された時点で既にreadyでも同期的に処理を行わず、あくまで非同期で処理を行うようになります。3.0はPromises/A+標準に従うようにしているからです。documentがreadyかどうかにかかわらず、処理の順序の一貫性を保証できます。load関数の処理の順番が前まであやふや(?)だったのが、しっかりと分けて処理されるようになったみたい。(表現があっているか分かりません。)ready関数ってのは下のようなやつですね。ready関数の中に処理を書いていました。動いているから別にいいかと習慣になっていたのですが、これがダメポイントでした。load関数を実行させている場合、痛い目に合います。笑もともとこの記述はアウトなのかもしれないのですが、これで動いていたので私はいつもこうしていました。変数の管理が楽だったんです...。jQuery3以降では完全アウトになっているようです。これらの記述を次のように分けて書いてあげるだけで、今回の問題は解決しました。//ページ全体が読み込まれた時の処理});新しいバージョンを使用する時はしっかり変更点などの情報を集めないと痛い目見ますね。笑もし同じような現象に悩んでいる人がいましたら参考になれば幸いです。