htmlに外部ファイルをincludeする
フレームを使わずに、本文とメニューを外部ファイルからインクルードする方法を探してみた。
JavaScriptを使って実現する方法は、ここやこことかここにある。
あとAjaxを使った方法はここにあるが、JavaScriptで読み込んだファイルを展開する場所をどうやって指定するのか?
下の用にする事で、getElementById()を使って置き換える事ができる事はわかった。
<html> <head> <script language="JavaScript"> <!-- var httpObj = new XMLHttpRequest(); httpObj.onload = aa; httpObj.open("GET", "about-us-history-body.txt", true); httpObj.send(null); function aa() { var res1= httpObj.responseText; document.getElementById('insert01').innerHTML = res1; } //--> </script> </head> <body> <div id="insert01"></div> </body></html>
が、I.E.では動いてくれない。色々と癖があるようだし、innerHTML,innerTextは明確に規定されていないようなので使えない。
で、結局phpのincludeを使う事にした。
ただし、既存のファイルがhtmlなので、Apacheの設定で、
AddHandler php5-script .php .htmlとして.htmlでもphpを使うようにして、
既存ファイルの先頭の”<?xml”でphpがエラーを起こすので、
<?php print(('<?xml ....>'); ?>として
後は、インクルードしたい部分で、
<?php include(”ファイル名”); ?>をするだけ