dポイントプレゼントキャンペーン実施中!

質問が解りにくくてすみません。
A.htmlの中にB.htmlやC.htmlを表示させたいのですが、A.htmlの中に「B.htmlとC.htmlを表示する」と言うような指示の方法ってあるのでしょうか?
後々は検索エンジンで並べて表示できるうにしたいと思っています。
よろしくお教え願います。

A 回答 (4件)

#2です。


なんか、#1さんのところの回答の要件を見るとSSIのこの機能では条件に合っていないような気がしますね。
CGIともちょっと違うような。

SSIは、テキスト型のアクセスカウンターなんかでよく使われる手段で、ソースごとCGIの出力を埋め込んでしまうというような方法になるのですが、「次へ」のリンクで表示を変える、といったような使い方には不向きのように思います。

A.htmlファイル一個にそういった機能を持たせようするのなら、JavascriptやVBScriptと、iframe、XMLなどを組み合わせて使って表示させたほうがよさそうに思います。

簡単な例
----------------------------------------------------------------------
<html><head><title>iframe</title></head><body>

<a href="javascript:next();">つぎ</a>
<a href="javascript:pre();">まえ</a>
<br>
<iframe name="html1" src="num/0.txt"></iframe><br>
<iframe name="html2" src="num/1.txt"></iframe><br>
<iframe name="html3" src="num/2.txt"></iframe><br>
<iframe name="html4" src="num/3.txt"></iframe><br>
<iframe name="html5" src="num/4.txt"></iframe><br>

<script type="text/javascript">
var pageindex=0;
var pages = new Array(
"num/0.txt",
"num/1.txt",
"num/2.txt",
"num/3.txt",
"num/4.txt",
"num/5.txt",
"num/6.txt",
"num/7.txt",
"num/8.txt",
"num/9.txt"
);
function next(){
pageindex += 5;
html1.location.href = pages[pageindex+0];
html2.location.href = pages[pageindex+1];
html3.location.href = pages[pageindex+2];
html4.location.href = pages[pageindex+3];
html5.location.href = pages[pageindex+4];
}

function pre(){
pageindex -= 5;
html1.location.href = pages[pageindex+0];
html2.location.href = pages[pageindex+1];
html3.location.href = pages[pageindex+2];
html4.location.href = pages[pageindex+3];
html5.location.href = pages[pageindex+4];
}
</script>

</body></html>
    • good
    • 0
この回答へのお礼

二回目のご返答ありがとうございます。
答えてくださったのを見てみた所、イメージに近いのではないかと思っています。
ですが、上記に対しての知識が無いのでさっぱりです・・・。
どの部分がB.htmlやC.htmlになるのでしょうか?

お礼日時:2005/09/19 17:19

#2です。



var pages = new Array(
"num/0.txt",
"num/1.txt",
"num/2.txt",
"num/3.txt",
"num/4.txt",
"num/5.txt",
"num/6.txt",
"num/7.txt",
"num/8.txt",
"num/9.txt"
);
この部分と、iframeのsrcの部分です。
テストにちょっと動作させたときに使ったのが、txtファイルだったのでこうなってます。
テスト動作させたときは、numというフォルダの中に、1.txt~9.txtというファイルを入れて表示させてました。同じディレクトリの中の、B.html~K.htmlというファイルであれば、以下のようになります。

var pages = new Array(
"B.html",
"C.html",
"D.html",
"E.html",
"F.html",
"G.html",
"H.html",
"I.html",
"J.html",
"K.html"
);

[Javascriptの参考]
http://www.tohoho-web.com/js/index.htm

(途中からジャンルがCGIからJavascriptに逸れてしまっているような気が。)
    • good
    • 0
この回答へのお礼

お礼が遅くなり申し訳ないです。
早速試してみます。
この方法ですと、イメージ通りの事ができそうです。
本当にありがとうございました。
確かにジャンルが違ってきてしまったので、一旦これで終了させていただきます。
ありがとうございました。

お礼日時:2005/09/20 07:34

フレームを使わず、HTMLファイルにHTMLファイルを埋め込むというものなら、SSIで可能かと思われます。


サーバーがSSIに対応しているのであれば、

<!--#include file="B.html" -->
<!--#include file="C.html" -->

って感じに記述し、サーバーにアップロードしたらできると思います。
(ローカルでは通常のコメントアウトとして認識されるため、表示されません。)

もちろん、

<!--#include file="viewhtml.cgi" -->

といった感じに、CGIを経由すれば、もっといろいろなことができます。
[参考]
http://www.tohoho-web.com/wwwssi.htm#Include
    • good
    • 0
この回答へのお礼

ご返事ありがとうございます。
SSIはまったく勉強していないので早速勉強してみます。あいまいなイメージなのですが、CGIを経由してという表示の仕方がいいような気がします。
いかがでしょうか?
色々なCGIのサイトを調べてみましたが、どれも欲しい情報がありませんでした。
よろしければ、他の参考URLも教えて頂けると嬉しいです。
ありがとうございました。

お礼日時:2005/09/19 15:35
    • good
    • 0
この回答へのお礼

早速のお答えありがとうございます。
フレームを使用するとB.htmlやC.htmlといったhtmlファイルが増えた場合、A.htmlに5ファイルづつとかの表示にすると、A.htmlといったページが多数作るようになると思うのです。そうした場合管理上不便そうなので、できればシンプルにA.htmlファイルはひとつで、そこに5つなら5つのhtmlを表示でき、「次に」をクリックすると、次の5つが表示する事ができればといいなと思っております。
説明不足ですみませんでした。
ありがとうございました。

お礼日時:2005/09/19 15:19

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!