あるHTMLファイルに別のHTMLファイルを含める
2つのHTMLファイル、仮にa.html
とb.html
があります。a.htmlの中には、
b.html`を含めたい。
JSFではこのようなことができます。
<ui:include src="b.xhtml" />
これは、a.xhtml
ファイルの中に、b.xhtml
を含めることができるということです。
これを*.html
ファイルで行うにはどうしたらいいでしょうか?
586
3
私の意見では、jQueryを使った解決策がベストです。
a.html」を使用します。
b.html
:この方法は、私の問題をシンプルかつクリーンに解決してくれます。
jQuery
.load()
のドキュメントはこちらです。私の解決策は、上記の[lolo][1]のものと似ています。しかし、jQueryを使う代わりに、JavaScript'のdocument.writeでHTMLコードを挿入しています。
a.html:
b.js:
jQueryを使わない理由は、jQuery.jsのサイズが〜90kbであることと、読み込むデータ量をできるだけ少なくしたいからです。
あまり手間をかけずに適切にエスケープされたJavaScriptファイルを取得するには、以下のsedコマンドを使用します。
また、GithubでGistとして公開されている以下の便利なbashスクリプトを使えば、
b.html
をb.js
に変換するために必要な作業をすべて自動化することができます。 https://gist.github.com/Tafkadasoh/334881e18cbb7fc2a5c033bfa03f6ee6Greg Minshall][2]による、バックスラッシュやシングルクォートをエスケープする改良されたsedコマンドへの謝辞ですが、私のオリジナルのsedコマンドでは考慮されていませんでした。
また、テンプレートリテラルをサポートするブラウザでは、以下のようにしても動作します。
b.js:
[1]: https://stackoverflow.com/users/1001224/lolo [2]: https://stackoverflow.com/users/1527747/greg-minshall
別の方法として、サーバーの.htaccessファイルにアクセスできる場合は、拡張子が.htmlで終わるファイルに対してphpを解釈できるようにするシンプルなディレクティブを追加することができます。
これで、シンプルなphpスクリプトを使って、次のような他のファイルをインクルードすることができます。