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

執筆者:

関連記事

サイトの文章や画像を簡単にコピーできないようにするには?

  Devanath / Pixabay 作ったサイトの文章や画像を簡単にコピーできないようにする方法です。 画像の保存を完全に防ぐことはできません。 でも、コピーにひと手間かかることが抑止 …

CSS★丸い背景+円形の中央に文字

cssのメモ。 丸形の作り方 基本的な方法は、 (1)div 要素で囲った範囲の上下左右のサイズを指定する(height, width) (2)背景色を付ける(background-color) (3 …

no image

MailPoet|購読者ページのカスタマイズ

ニュースレーターを配信できるプラグインを探していたらこの「MailPote」と「MailChimp」という2つのプラグインがダントツで使われていたので試してみた。 まずは一番人気のMailChimpだ …

EC-cube3★受注管理・編集ページにメール通知へのリンクを追加

EC-cube3になってノンプログラマーにはカスタマイズの敷居がグンとあがってしまいました。。。(泣) 悪戦苦闘しながら少しずつカスタマイズしているところ。 どこを触ったのか自分用の備忘録メモ。 管理 …

no image

HTML特殊文字—ちょっと使いたい時に

 よく使う記号、使われる記号、いざという時の… < &lt; &#60; > &gt; &#62; 左の二つは、HTMLなどのマークアップ言語で …

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