2011-06-17 5 views
1

メニューコード、ヘッダー、フッター、そして最も重要なのは各ページのクイックリンク/ニュースパネルのようにHTMLを繰り返すのが快適ではないと思います。また、ページごとに同じhtmlを繰り返し送信するのは少し非効率的です。ウェブページ内にセカンダリHTMLファイルを埋め込む

現時点では、私はindex.htmからこれらのセクションを読み込み、そのディレクトリ内の他のすべてのページ内の関連するセクションを置き換える小さなプログラムを作成しました。しかし、メッセージフォーラムやイメージギャラリーのような余分なページがあるので、それぞれのサブディレクトリに独自のindex.htmが必要なので、事態はかなり厄介になり始めました。

オブジェクト、iframe、またはSSIを使用する必要がありますか?

オブジェクトタグを使用して別のHTMLファイルをページ内に埋め込むことに成功した人はいますか? SSIは、すべてのページ変更時に繰り返しHTMLがWebを介して送信され、PHPページで異なるインクルード行を使用する必要があるという点を除いて、この作業を行います。 IFrameを使うのはどうですか、彼らは厳密なXHTML1.0に準拠していないことを知っていますが、私はHTML5で再びサポートされるという噂を思い出しています。

答えて

0

この問題を解決する最も簡単な方法は、スクリプト言語(PHP、Python、ASP)とテンプレートを使用することです。マスターテンプレートでサイトの基本構造を作成し、スクリプトを使用して変更されたコンテンツのみを取り込むことができます。

特に良い例については、Django's template systemを参照してください。

+0

私たちが持っているPythonページはOKですが、PHPベースのMessage Forumでは動作しません。 – NickC

+0

Smarty、PearのHTML_Template *など、PHPベースのテンプレート言語がいくつかあります。DrupalやJoomlaのようなフルCMSにアップグレードすることもできます。 –

0

各ページは、外部のファイルでJavaScript関数を呼び出すことができます。その関数は、DOMを使用してページに定型的な要素を追加できます。

つまり、あなたはこれをやりたいとは思わないかもしれませんし、SEOの理由でIFrameを使用しないでください! (クライアントがJavaScriptを無効にした場合でも、あなたのページはうまく失敗しません)。

私には、検索エンジンにやさしいページがあり、重複したマークアップの送信をお勧めします。サーバーサイドインクルード(または任意のサーバー側スクリプト言語)は、これらの品質を提供すると同時に、すべてのページの定型文を一度に簡単に変更できるようにします。

関連する問題