外部ファイルに書いてあるHTMLソースを、Javascriptを使って本体のHTMLファイルに直接書き出す方法があったら教えて下さい。
外部参照はソースが書き込まれないのでNGです。
申し訳ないですが、「出来ない」ということを回答させていただきます。
JavaScriptはクライアントサイドのプログラムですので、HTMLをダウンロードした後にブラウザ上で動作するものです。したがって、そこから、サーバにあるHTMLのソースを読み込み再度構成するというのは出来ません。
また、可能とすれば、外部参照として、以下のようなJavaScriptのファンクションを準備して、本体がわでdocument.writeするくらいですが、題意に沿わず、また面倒です。
function getMenuSource() {
return ”<div>” +
”メニュー” +
”</div>”;
}
JavaScriptにヒアドキュメントがあれば、まだ話が変わるのですが、URLのようにJavaScriptはヒアドキュメントが用意されていません。
したがって、これらは、PHPやASP、CGI等のサーバサイドのプログラミングを使用して、サーバで本体とメニューをくっつける処理をしてダウンロード、が得意分野になります。
可能ならご検討ください。
SSI(Server Side Include)では駄目なのでしょうか?
以下のファイルをDocumentRootに配置。
本体.html
SSI.html
本体.htmlの内容--------------------
<html>
<head>SSIのテストページ</head>
<body>
ここから下がSSIで挿入されたソース
<!--#include virtual=”/SSI.html”-->
ここまでがSSIで挿入されたソース
</body>
</html>
-----------------------------------
SSI.htmlの内容---------------------
この部分がSSIで挿入されたソースです。
-----------------------------------
上記の「本体.html」へアクセスすると
サーバ側でSSI.htmlを取り込んだ形の
本体.htmlが作成され、ブラウザに表示されます。
最終的には、以下のhtmlがブラウザに返される事になります。
-----------------------------------
<html>
<head>SSIのテストページ</head>
<body>
ここから下がSSIで挿入されたソース
この部分がSSIで挿入されたソースです。
ここまでがSSIで挿入されたソース
</body>
</html>
-----------------------------------
SSIが利用できない環境では使えませんが・・・
ありがとうございます、でも残念ながらSSIは使えません。
-------------------
お二方回答いただいて「無理!」ということがわかったのでよかったです。
ありがとうございました!
ご丁寧な説明、ありがとうございます!