コードをより保守しやすくするために、この組み込みを実現する方法はいくつかあります。
PHP
もちろん、最初に頭に浮かぶのは、PHP を使用する場合include()
、外部ファイルまたはスクリプト内のコードをインクルードして評価する使用法です。
次のように使用できます。
<?php include('path/to/file.html'); ?>
ノート!注意:.php
このディレクティブがサーバーから評価されるためには、コンテナー ファイルがファイルである必要があります。そのためには、ファイル拡張子を変更する以外に何もする必要はありません。そしてもちろん、サーバーが PHP を解析できることを確認してください。
また、 との違いにも注意してくださいinclude_once()
。この場合はお勧めしません。
SSI (サーバー側インクルード)
PHP を使用したくない場合は、サーバー側のインクルード[ Wikipedia ]を使用して、非常にシンプルかつクリーンに行うことができます。SSI は HTML コメントのように見えます。
<!--#include virtual="your.html" -->
ノート!mod_include
Apache サーバーにインストールして有効にし、 または ファイルに次のディレクティブを追加する必要がhttpd.conf
あり.htaccess
ます。
Options +Includes
詳細については、上記のドキュメント リンクを参照してください。
クライアント側のインクルード
あなたの質問は、実際にはJSまたはjQueryでこれを行うことを指定しています。サーバー側のオプションを知らなかったからなのか、クライアント側のオプションが本当に必要なのかはわかりません。いずれにせよ、クライアント側のソリューションもいくつかあります。
可能性を考慮して、問題に対するサーバー側のソリューションをお勧めします。
IFrame 要素
この<iframe>
要素には、ページ内の別の領域にある外部ファイルのコンテンツが含まれます。次のように使用できます。
<iframe src="your.html" width="x" height="y"><p>Fallback text</p></iframe>
オブジェクト要素
この<object>
要素は と同様のことを行います<iframe>
が、後者はアプリケーションをサンドボックス化する手段としてより設計されていますが、前者はよりページに統合されているように感じます。使用方法は次のとおりです。
<object type="text/html" data="your.html"></object>
Javascript の挿入
コードを Javascript ファイルに変換し、コンテンツを DOM に挿入するようファイルに指示します。ここに例があります
external.js
var element = '<div>
<ul>
<li class="current"><a href=".html" ></a></li>
<li><a href=".html"></a></li>
<li><a href=".html"></a></li>
<li><a href=".html"></a></li>
</ul>
</div>';
container.html
<script type="text/javascript" src="external.js"></script>
<script>
document.getElementById('#containing-element').innerHTML(element);
</script>
AJAX
jQuery は、一部の AJAX 呼び出しを簡単に処理するのに役立ちます。jQuery.get()
またはを使用できますjQuery.load()
。後者を使用することをお勧めします。これはload()
、読み込まれた要素を DOM に直接挿入し、また、読み込む部分を正確に指定できるためです。これは、すべてのインクルードを 1 つの外部 HTML ファイルに保存する場合に特に便利です。
jQuery(document).ready(function ($){
$('#containing-element').load('your.html');
});