利便性ばっちり。ヘッダー・フッターの共通化

利便性ばっちり。ヘッダー・フッターの共通化

コーディング

ページの数だけ必要になる、ヘッダー・フッター。項目によってはサイドメニューもそうですね。
ヘッダーの内容が増えたり、フッターの内容が変更したり。
その都度、全てのページに適用させるなんて面倒ですよね…!
(Dreamweaverで置換。といった方法もありはしますが、ちゃんと置き換え場所を確認しないと思いもよらないところが変わってしまうので注意が必要です)

共通部分をテンプレ化して、更新を楽に!

まずindex.htmlから。

==== index.html ====
<body>
<script>header();</script> <!-- ヘッダーjs -->
・・・
・・・・・ページ内容
・・・・
<script>footer();</script> <!-- フッタjs -->

続いて、各ヘッダー・フッターに飛ばすjs

(url:’ ‘ の中身は適宜変更してください)

==== tpl.js(名前はご自由に) ====
//**************************************
//ヘッダー
//**************************************
function header(){

    $.ajax({
        url: '/common/tpl/header.html',
        cache: false,
        async: false,
        dataType: 'html',
        success: function(html){
            document.write(html);
        }
    });
}
//**************************************
//フッター
//**************************************
function footer(){
    $.ajax({
        url: '/common/tpl/footer.html',
        cache: false,
        async: false,
        dataType: 'html',
        success: function(html){
            document.write(html);
        }
    });
}

この時header,footerの場所をurlのところに記述するのですが、相対パスだと階層ごとにずれが生じて表示されなくなったりして、別名のheader,footerファイルを作る必要が出てくるのでドメイン名直下からの記述する、ルートパスがおすすめです。

最後に、共通化したいヘッダーとフッターその部分だけのhtmlを作成

今回の場合は、/common/tpl/の中に入れます。
header,footer内のリンクもルート記述が必須です。

==== header.html ====
<header class="header">
~~~ヘッダー内容~~~
</header>

==== footer.html ====
<footer class="footer">
~~~フッター内容~~~
</footer>

これだけ!!
あとは変えたい内容が出たときheader.html,footer.htmlに打てば、
<script>header();<script> , <script>footer();<script>が書かれた全てのページに反映されます。

ぜひ試してみてくださいーー!