JavaScript(jQuery)でhtmlをインクルード

includeJavaScript(jQuery)を使って外部に設置したhtmlファイルをインクルードさせるサンプルです。

ヘッダーやフッターなどの共通パーツを外部ファイル化することで、メンテナンス性が高くなります。
反面、JavaScriptで動的に生成するため、Googleのクローラーは認識しませんので、その対策が必要になります。
個人的には、とりあえずウェブマスターツールでサイトマップxmlを送信しとけば最低限は何とかなるかなって感じです。責任は持てませんけど。。

※このサンプルはjQueryと jquery.cookie が必須になりますので、以下からダウンロードするか、CDNを読み込むなりしてください。

本家jQuery
GitHub(https://github.com/carhartl/jquery-cookie)

HTML

ベースとなるhtml

<!DOCTYPE html>
<html lang="ja-jp">
<head>
<meta charset="utf-8">
<title>Page Title</title>
<script type="text/javascript" src="js/jquery-1.5.2.min.js"></script>
<script type="text/javascript" src="js/jquery.cookie.js"></script>
<script type="text/javascript">
<!--
$(function(){
    $.ajaxSetup({cache:false});
    $("div.include").load("Include-File-Name.html");
});
-->
</script>
</head>
<body>
<div class="include"></div>
</body>
</html>

インクルード用html

<div>
<p>この部分は外部からインクルードされたhtmlファイルです。</p>
<p>この部分は外部からインクルードされたhtmlファイルです。</p>
<p>この部分は外部からインクルードされたhtmlファイルです。</p>
<p>この部分は外部からインクルードされたhtmlファイルです。</p>
<p>この部分は外部からインクルードされたhtmlファイルです。</p>
<p>ソースを見て確認してみてくださいませ。</p>
</div>

JavaScript

※head内に記述しているものと同じです。

<script type="text/javascript" src="js/jquery-1.5.2.min.js"></script>
<script type="text/javascript" src="js/jquery.cookie.js"></script>
<script type="text/javascript">
<!--
$(function(){
    $.ajaxSetup({cache:false});
    $("div.include").load("Include-File-Name.html");
});
-->
</script>

※ $.ajaxSetup({cache:false}); としているのは、インクルード用ファイルを更新した際に、即座にブラウザに反映させるためです。

表示サンプル

サンプルhtml

JavaScript(jQuery)でhtmlをインクルードのサンプル

共通パーツを外部化すると、ちょっとした更新が非常に楽になります。
クライアントの許可があれば使っていきたいですね。

スポンサーリンク

シェアする

  • このエントリーをはてなブックマークに追加

フォローする