共通パーツの読み込みはインラインフレーム(iframe)を使うことが多かったのですがレスポンスページが主流になってくるとインラインフレーム(iframe)はちょっと不便。
ブートストラップでは「比率ヘルパー」がありインラインフレーム(iframe)の読み込みも楽になってきたけど、それだけでは対応できない場合もおおい。
そこでこの頃良く使うようになってきたのがJクエリーの「.load()」、jQuery.3 では .loadは廃止?という情報をよく見かけますがjQuery.3.0系でも1,2系と同じタグで問題なく作動します。
これはjQuery 3.0 以前は「.load()」という同名のメソッドが 2 つありjQuery 3.0 で削除されたのはそのうちのひとつだけ。
データ取得用の .load() は jQuery 3.0 でも、そのまま使用可能ということです。(イベント用の処理は廃止)
試しにスクリプトの記述はそのままでCDN読み込みを「1.4.2」から「3.4.1」に変えてみましたが問題なく動作しました。
参考 jQuery の .load() で HTML ファイルを読み込む
「.load()」での共通パーツ読み込み
スクリプト<例>
1 2 3 |
$( "#ranking" ).load("html/ranking.html #ranking"); $( "#pair-set" ).load("html/pair-set.html #pair-set"); $( "#gift" ).load("html/gift.html #gift"); |
HTML<例>
1 2 3 4 5 6 7 8 9 10 11 |
<!-- ****ランキングページ読み込み**** --> <div id="ranking"></div> <!-- ****/ランキングページ読み込み**** --> <!-- ****ペアセットページ読み込み**** --> <div id="pair-set"></div> <!-- ****/ペアセットページ読み込み**** --> <!-- ****ギフトページ読み込み**** --> <div id="gift"></div> <!-- ****/ギフトページ読み込み**** --> |
上記の例の最初の部分は htmlフォルダ内の「ranking.html」のID「ranking」部分を読み込むという設定です。
勿論ページ全体を読み込むことも可能ですがブートストラップなどを使用している場合は部分的なHTMLを読み込んだほうが便利。
ただ、一点「.load()」での共通パーツ読み込みはローカル環境では読み込まないブラウザが多い。
※ドリームウィーバーのリアルタイムプレビューでは読み込む。
ローカルでの表示に関してはいろいろな方法があるみたいなのでググってみてください・・・
コメント