本体のHTMLファイルとメニュー部分だけ記述してある外部ファイルがあります。

外部ファイルに書いてあるHTMLソースを、Javascriptを使って本体のHTMLファイルに直接書き出す方法があったら教えて下さい。
外部参照はソースが書き込まれないのでNGです。

回答の条件
  • URL必須
  • 1人2回まで
  • 登録:2004/11/22 11:06:53
  • 終了:--

回答(2件)

id:Dandan No.1

Dandan回答回数36ベストアンサー獲得回数02004/11/22 14:30:24

ポイント25pt

申し訳ないですが、「出来ない」ということを回答させていただきます。

JavaScriptはクライアントサイドのプログラムですので、HTMLをダウンロードした後にブラウザ上で動作するものです。したがって、そこから、サーバにあるHTMLのソースを読み込み再度構成するというのは出来ません。

また、可能とすれば、外部参照として、以下のようなJavaScriptのファンクションを準備して、本体がわでdocument.writeするくらいですが、題意に沿わず、また面倒です。

function getMenuSource() {

return ”<div>” +

”メニュー” +

”</div>”;

}

JavaScriptにヒアドキュメントがあれば、まだ話が変わるのですが、URLのようにJavaScriptはヒアドキュメントが用意されていません。

したがって、これらは、PHPやASP、CGI等のサーバサイドのプログラミングを使用して、サーバで本体とメニューをくっつける処理をしてダウンロード、が得意分野になります。

可能ならご検討ください。

id:meeko55

ご丁寧な説明、ありがとうございます!

2004/11/22 20:25:55
id:hkawamura No.2

hkawamura回答回数22ベストアンサー獲得回数02004/11/22 14:36:43

ポイント25pt

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が利用できない環境では使えませんが・・・

id:meeko55

ありがとうございます、でも残念ながらSSIは使えません。

-------------------

お二方回答いただいて「無理!」ということがわかったのでよかったです。

ありがとうございました!

2004/11/22 20:29:15

コメントはまだありません

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

絞り込み :
はてなココの「ともだち」を表示します。
回答リクエストを送信したユーザーはいません