外部ファイルが読み込まれない!?と思ったら
これまではload関数を使って以下のような記述で外部のHTMLやPHPを読み込み、特定のタグやIDに反映する方法がありました。
$("#include").load("include.html")
ところが2022年になって外部HTML(またはPHP)の中身が読み込まれないケースを確認。
全く読み込まないわけではなく、スーパーリロード([SHIFT]+[CTRL]+[R])した直後だと読み込まれる。
(ブラウザやサーバの)キャッシュに関連した問題なのだろうか?
改善策:$.ajaxを使う
$.ajax("include.html").done(function(data) {
$('#include').html(data);
});
コードは増えるが、普通のリロードでも都度読み込まれるようになる
注意:キャッシュ回避だけでは解決しない?
$("#include").load("include.html?d="
+ Math.random().toString(36).substring(2, 12));
パラメータ付与はimgタグの都度読込に使える手法だが、load()だと意図どおりにならない
根本的な原因は特定できていませんが、すぐ使える手法だと感じたので情報共有します。