jQuery WEB制作 Interenet

HTML共通部分を部品化して読み込ませる方法

投稿日:2017年1月19日 更新日:

HTML5CSS3.gifJQuery_logo
今回はHTMLでサイトを作って欲しいとの要望。
ナビやヘッダー、フッター部分は全ページ共通なので、修正や後々のメンテナンスも考えて、それらを部品化して1箇所で管理したい。

HTMLには、他のページを読み込む方法が用意されていないとのこと。
そこで、色々調べてみたら、

  • iframを使う←不具合がでる場合があるのでパス。
  • SSIを使う←サーバーの設定に依存する。今回はどんなサーバーになるのかまだわからないのでパス。
  • PHPを使う←ページのURLが「〜.php」となってしまうのでボツ。「〜.html」にしたいので。。。
  • JavaScriptを使う←今回はこれに決定!
  • テンプレートエンジンを使う←導入が難しそうなのでギブアップ。

検討した結果、
スマホでもよく使われるようになって
かなり一般化してきた「JavaScript」を使う方法にしました。

まずはじめに、ナビゲーションを部品化から。
ここでの条件は、現在いるページに対応するボタンをアクティブにしたい。 

公開してくださっているコードをいろいろ試した結果、
下記のサイトで公開しているコードを使用しました。
サンプルも丁寧な解説もあります。
ノンプログラマーにはとってもありがたい限りです。

【サンプル付】外部化したヘッダー・グロナビの現在位置をアクティブにするテクニック【自動化】 

構築中のサイトに早速取り入れてっと。
うん、うん、いい感じで動きます。
これで、修正がきても、ナビのHTMLファイル1カ所 だけの修正で済みます。

続いて、ヘッダーとフッターも共通部品なので、元のindex.htmlから抜き出すことに。。。
HTML Parts

先ほどのコードに続けて、同じようにパーツ化したheader.htmlやfooter.htmlを追記してっと。。。。

あれ?
???
読み込んでくれません(汗)

そこで、再びコードをググっては試し、ググっては試しを繰り返し。。。
思ったような動きになったのはこれだけでした。

【jQuery】htmlページをパーツごとに分けて読み込む方法

HTML側には、idをふっておくだけ。

 

<div id="haader"></div>
<div id="footer"></div>

Js側には下記のコードを先頭に追記して、部品を紐付けるだけ。
読ませる順番が違ってくると先に設定したナビのアクティブ化が動かなくなるので注意!

$(function(){
$("#header").load("header.html");
$("#footer").load("footer.html");
});

 

やったーーー!!

これで、うまくいきました。
ヘッダーやフッター以外にも部品化して読ませることが出来ますよ!

気をつけるのは、部品化したhtmlファイルのリンク。
読み込んだページからみたパスの記述をしておくこと。
部品化したファイルの保存階層からのディレクトリではないので気をつけてください。 

本サイトの内容に誤りや不正確な記述がある場合やサンプルに基づくいかなる結果も一切の責任を負いかねますので、あらかじめご了承ください。

-jQuery, WEB制作, Interenet

執筆者:

関連記事

「table」について調べてみた 【HTML5編】

サイトのコーディングはCoda2を愛用中。 Emmetで「table」とタイプしてから「Control」+「E」で展開。 すると、下記のようなコードを自動で展開してくれます。 <table&gt …

MAMPで任意のPHPバージョンを使う

最近はMAMPは余り使わなくなったのですが、古いCMSのメンテのためにテスト環境が必要になりました。あたらしいMAMPはPHPが7.3になっていて、古いCMSがインストールできない! MAMPのPHP …

CSS★最低の高さを決めて後は可変にする方法

最小の高さだけ決めて、 あとはdivなどの要素の高さに応じて高さを可変にできる指定方法。 CSSで下記のように指定します。   min-height: 80px; height: auto !impo …

CSS★テキストにグラデーションをつける

文字にグラデーションカラーをつけるといえば、イラストレーターなどで画像を用意してからサイト内に配置というのがお約束だったんだけど、CSSだけで実現できるようになりました。 先日の勉強会で習ったばかりの …

超簡単!オリジナルのSVGアイコンの作り方

SVGファイルから簡単にアイコンフォントが作れるサービス、「IconMoon」は超有名ですね。 時々使っているのですが、書き出しから実装まで、いざとなると「あれ?どうだっけ。。。」って忘れてしまうこと …

サイト制作・グラフィック制作をしているデザイナーです。制作で躓いたことの備忘録としてこのブログを始めました。
たくさんの検索結果から、実際に何度も何度も自分で試してみて、自分に合うなと思った方法やうまくいった方法をこのブログに書き留めています。
プログラム関係のことはもっぱらコピペ派。
自分でゴリゴリ書くことはできません。。。プログラムが分かる人がうらやましいです。
そんな私でもなんとかサイト制作ができるのはグーグル先生と貴重な情報をおしげもなく公開してくださっているたくさんの方々のおかげ。
有志のみなさまに日々感謝しつつ制作させていただいています。