2012-01-25 4 views
11

2つのHTMLファイルがあります。a.htmlb.htmlとします。 a.htmlb.htmlを含めたいと思います。html5を使用してhtmlファイルにhtml5を含める

JSFでは、私はそのようにそれを行うことができます。

<ui:include src="b.xhtml" /> 

それはa.xhtmlファイル内に、私はb.xhtmlを含むことができることを意味します。

*.htmlファイルでどうすればいいですか?

html 5を使用している場合(html 5ですべて実行できる場合)

答えて

27

驚くべきことに、同じ質問を尋ね、それが可能であるた:HTML5 include file

ラファの答え:


objectタグを使用します。

<object name="foo" type="text/html" data="foo.inc"></object> 

foo.incは、有効なHTMLを含める必要があります。


私はKonqueror、Firefox、Chromiumでテストしました。

別の</object>タグを使用する必要があります。それ以外のコンテンツは破棄された後に使用する必要があります。

私が役に立つと思うなら、病気のように広がっているので「ラファ」の回答(私ではない)をupvoteしてください。

+4

これは恐ろしいことです。 –

+1

デザインモックアップには非常に便利です... – Magnus

+2

+1 [W3Cバリデーター](http://validator.w3.org/)は「インクルード」が表示されなかった後には好きではありません(Chromeでは他のブラウザをテストしませんでした)。 W3Cは自己終了タグに反対しました。私はそれを「」という結末に置き換え、検証し、次のものが表示されました。 – Mawg

1

HTML5はこの点でHTML 4.01と何ら変わりありません。というのも、HTML5は何らかの種類のスクリプトなしでは簡単に行えないという点で違います。

+1

はなぜ、それはとても簡単です。 – lolo

+3

(任意のバージョンの)HTML言語は、単にドキュメントを相互リンクするためのシステムであることを意図しています。 HTMLに重点を置く2つの主な言語は、文書を視覚的にスタイルするためのCSSと、ファイルを読み込んでその内容をHTML文書に挿入する唯一のスクリプト可能な部分であるJavaScriptです。サーバサイドのスクリプトは、HTML文書がクライアントに送信される前に行うことができるので、ファイルを含めるための最良のソリューションです。簡単に言えば、HTMLはインクルードすることができません。これは設計されていないため、他の言語でこれを行う必要はありません。 – Jimmery

6

サーバがSSI(サーバサイドインクルード)をサポートしている場合は、スクリプト言語などを必要とせずにhtmlファイルに次のものを入れることができます。 Apacheはあなたが「relevant_article_poll.html」などの関連ファイルを含むために使用するものを、おそらくデフォルトで有効になってSSI(と思う?)

<!--#include file="same_path_file.html" --> 
<!--#include virtual="docroot_file.html" --> 

「ファイル」は、現在のファイルへの相対であり、そして。

"virtual"はドキュメントルート(つまり、ウェブサイトのルート)からの相対パスで、ヘッダーやフッターなどのグローバルファイルを含める場合に使用します。

どちらを選択しても問題ありませんが、2つの違いを知ることは便利です。

また、includeディレクティブは、各ファイルのためにサーバーに新しい内部http要求を作成するので、phpファイルなどを含めることができ、必要に応じて実行されます。ここで

は、SSIの便利な概要です:http://en.wikipedia.org/wiki/Server_Side_Includes

+0

これは、プロトタイプを開発しているFE Devsにとって非常に簡単なオプションです。別のフレームワーク(AEM)でのコンポーネント開発のマークアップを簡単に分解することができます。 – Roralee

3

PHPを使用するにはあなたは自分を編集する必要があり、HTML5で機能が含まれます。htaccessのファイルには、次のように

<Files *.html> 
ForceType application/x-httpd-php 
</Files> 

は今、あなたは、このようにHTMLファイル内の任意のPHPコードを使用することができます。

<?php include 'menu.html'; ?> 

乾杯;)

関連する問題