• ベストアンサー

SSIを使わずに・・・

SSIを使わずに、CGIやJavaScriptを使って”include”や”virtual”コマンドと 同様の効果を得ることはできるのでしょうか? 知人の会社のHPを頼まれて作成しているのですが、早い話がフレームを使わずに 共通のメニュー項目を複数のページに表示させたい。 SSIが使えるサーバーであれば上記コマンドで簡単なのですが、彼の契約サーバーは SSI使用不可(オリジナルCGIは可)、という状況です。 仕方が無く、ひたすらコピーして作っています(^_^;;) かなり探したのですが、「できる」旨を記載しているページはあるのですが、 その手法まで記載したページにはたどり着けませんでした。 ご存じの方いらっしゃいましたら、どうかご教示願います。

質問者が選んだベストアンサー

  • ベストアンサー
  • Paul_xxx
  • ベストアンサー率56% (27/48)
回答No.3

#1です。 JavaScriptでは、無理と書きましたが #2さんの書き込みみて、ちょっと考え直して 検索してみましたが参考URLのような方法でできますね。 つまり、JavaScriptは外部ファイルを読み込めませんが document.write を使ってJavaScriptの中に メニュー項目を埋め込んでしまえばOKです。 レイヤーには、ならないです ちょっとめんどくさいですけど コピペよりは、メンテナンス性がよくなるかなと思います。

参考URL:
http://shigetomo.virtualave.net/java/menu.html
umeda
質問者

お礼

なるほど、回答のようにすれば、JSでメニュー項目を埋め込むことが可能ですね。 確かに少し手間ですが、一度作ってしまえば、メンテ性は悪くなさそうです。 一度試してみます。 ありがとうございました。

その他の回答 (2)

  • so_blue
  • ベストアンサー率48% (50/104)
回答No.2

やったことないので予測ですが、 「共通メニュー」をJSで全て書き出すようにしておいて、 そのJSを外部ファイルにしてしまうのはどうでしょうか? # レイヤーになるのかも知れないですが.....

  • Paul_xxx
  • ベストアンサー率56% (27/48)
回答No.1

えーと私はSSIに明るくないんですが (笑) JavaScriptは、外部ファイルの読み込みが行えないので 無理だと思います。 CGIですが、umedaさんは、Perlなどの記述には明るいんでしょうか 自分でスクリプトを書くことになると思いますが 私がやるとしたら、すべてのページを出力するのは ひとつのCGIで、引数で表示するページの振り分けを行って どのページが指定されようとも目次ページになるファイルを 同じ位置に出力するような形にすると思います。 多分、CGIを使うと誰がやっても大体似たような処理になると思いますが 具体的に言うと http://hogehoge.com/index.cgi が、すべてを管理するCGIだとして これをindex.htmlの代わりに使います。 で、index.cgi?p=top などと引数をもらって CGIソースの処理は、目次ページとページごとの ファイルの読み込みを行い順次出力していくといった感じですね。 他の方法もあるかも知れませんが私がやるならこうするということです。 それで、思ったんですけどフレームがダメというのが どういう理由か分からないのですけども インラインフレームというタグのがあるのはご存知ですか? って多分、知ってると思いますけど こいつは、フレームの枠をなくすことが出来るので 目次ページだけ別ファイルにしてやって、インラインフレームの中で 指定してやれば、さもひとつのHTMLファイルのように見せかけて 別のファイルを読み込むことが出来ます。 それすらもダメとなるとCGIでやるしかなくなると思いますが 割と簡単な実現方法だと思いますので、一度検討されてみてはいかがでしょうか

umeda
質問者

お礼

早速レスいただき、ありがとうございました。的確なアドバイス、大変うれしいです。 実はあまりPerlには明るくありません。というか、ゴリゴリ書くのが邪魔くさい、と言う方が正しい?(^_^;;)フリーのスクリプトの改造ぐらいの知識はあります。 ちなみにJavaScriptはフリーのスクリプトを借用する程度です。 以前にもフリーの簡易データベースを利用してPaul_xxxさんの提案に近いことをやったことがあるのですが、どうしてもサイト構成(リンク)が横並び的と言うか平面的と言うか、管理しにくい感じになってしまったので、それ以後試しませんでした。久しぶりに試してみます。 インラインフレームも試したことがありますが、少し以前のことで、ブラウザによって見栄えがかなり違っていたので、公開しなかった経験があります。最近のバージョンは大丈夫なのかな? 「フレームがダメ」っていうのはかなり友人の私見です。私は「フレーム使ってもいいじゃん!」と言っているのですが、「イヤ!何となく見難い」という返事が返ってきますので。彼が気に入っているサイトは、あんまりフレームを使っていないらしいです(^_^;;) 引き続き耳寄りな情報お待ちしていますので、よろしくお願いいたします。