内に一連のリンクを含む静的な HTML ページがいくつかありますdiv
。現在、この一連のリンクを編集する場合、複数のページで同じ編集を行う必要があります。
div
変更を加えたときにすべてのページを更新する簡単な方法はありますか? おそらく、それを別の HTML ファイルに移動し、jQuery を使用して挿入できますか?
まあ、実際に必要なのは(Javascriptを使い続けたい場合はPHPではありません)テンプレートです(mustache.jsをお勧めします)
次に、コードは次のようになります。
var data = {
links: [
{ url: "http://",
text: "Lorem"},
{ url: "http://",
text: "Ipsum"}
]};
var template = "<ul>{{#links}}" +
"<li><a href="{{url}}">{{text}}</a></li>" +
"{{/links}}</ul>";
var html = Mustache.to_html(template, data);
$('#DIV_CONTAINING_MENU').html(html);
もちろん、jQuery (さらには JavaScript) でも同じことができます。
var data = [
{url: 'http://', text: 'Lorem'},
{url: 'http://', text: 'Ipsum'}
];
$ul = $('<ul></ul>');
for(var i=0,c=data.length;i<c;i++){
$ul.append('<li><a href="'+data[i].url+'">'+data[i].text+'</a></li>');
}
$ul.appendTo($('#DIV_CONTAINING_MENU'));
あなたのウェブサイトのルートフォルダにあるlinks.htmlという名前の静的ファイルにリンクがあるとします:
<div id="links">
Your links.
</div>
このファイルを別のページに含める方法はいくつかあります。ここでは、最も簡単な 3 つを紹介します。
を使用するのは簡単jQuery.load
です。
JS:
$('.add-links').load('/links.html');
HTML:
<div class="add-links"></div>
まず、サーバーで SSI が有効になっていない場合は有効にします。(たとえば、Apache 、IIS6およびIIS7でSSI をセットアップする方法は次のとおりです。) 次に、静的ファイル内の必要な場所にインクルードを追加します。
HTML:
<!--#include virtual="/links.html" -->
PHP が正しくインストールされ、有効になっていると仮定すると、静的 HTML ファイルを PHP として解析するようにサーバーに指示します。たとえば、拡張子を から.html
に変更し.php
ます。次のように、表示する必要がある場所にリンクを含めることができます。
<?php include('/links.html'); ?>
PHPを使用してそれを行うことができます
<div>link</div>
この div を別のファイルとして保存します。次に、このファイルinclude('filepath');
をすべてのページに含めます。編集したいときは、メインファイルで一度編集するだけです。