![](http://oshiete.xgoo.jp/images/v2/pc/qa/question_title.png?8acaa2e)
![](http://oshiete.xgoo.jp/images/v2/common/profile/M/noimageicon_setting_12.png?8acaa2e)
SSIを使わずに、CGIやJavaScriptを使って”include”や”virtual”コマンドと
同様の効果を得ることはできるのでしょうか?
知人の会社のHPを頼まれて作成しているのですが、早い話がフレームを使わずに
共通のメニュー項目を複数のページに表示させたい。
SSIが使えるサーバーであれば上記コマンドで簡単なのですが、彼の契約サーバーは
SSI使用不可(オリジナルCGIは可)、という状況です。
仕方が無く、ひたすらコピーして作っています(^_^;;)
かなり探したのですが、「できる」旨を記載しているページはあるのですが、
その手法まで記載したページにはたどり着けませんでした。
ご存じの方いらっしゃいましたら、どうかご教示願います。
No.3ベストアンサー
- 回答日時:
#1です。
JavaScriptでは、無理と書きましたが
#2さんの書き込みみて、ちょっと考え直して
検索してみましたが参考URLのような方法でできますね。
つまり、JavaScriptは外部ファイルを読み込めませんが
document.write を使ってJavaScriptの中に
メニュー項目を埋め込んでしまえばOKです。
レイヤーには、ならないです
ちょっとめんどくさいですけど
コピペよりは、メンテナンス性がよくなるかなと思います。
参考URL:http://shigetomo.virtualave.net/java/menu.html
なるほど、回答のようにすれば、JSでメニュー項目を埋め込むことが可能ですね。
確かに少し手間ですが、一度作ってしまえば、メンテ性は悪くなさそうです。
一度試してみます。
ありがとうございました。
No.2
- 回答日時:
やったことないので予測ですが、
「共通メニュー」をJSで全て書き出すようにしておいて、
そのJSを外部ファイルにしてしまうのはどうでしょうか?
# レイヤーになるのかも知れないですが.....
No.1
- 回答日時:
えーと私はSSIに明るくないんですが (笑)
JavaScriptは、外部ファイルの読み込みが行えないので
無理だと思います。
CGIですが、umedaさんは、Perlなどの記述には明るいんでしょうか
自分でスクリプトを書くことになると思いますが
私がやるとしたら、すべてのページを出力するのは
ひとつのCGIで、引数で表示するページの振り分けを行って
どのページが指定されようとも目次ページになるファイルを
同じ位置に出力するような形にすると思います。
多分、CGIを使うと誰がやっても大体似たような処理になると思いますが
具体的に言うと
http://hogehoge.com/index.cgi
が、すべてを管理するCGIだとして
これをindex.htmlの代わりに使います。
で、index.cgi?p=top
などと引数をもらって
CGIソースの処理は、目次ページとページごとの
ファイルの読み込みを行い順次出力していくといった感じですね。
他の方法もあるかも知れませんが私がやるならこうするということです。
それで、思ったんですけどフレームがダメというのが
どういう理由か分からないのですけども
インラインフレームというタグのがあるのはご存知ですか?
って多分、知ってると思いますけど
こいつは、フレームの枠をなくすことが出来るので
目次ページだけ別ファイルにしてやって、インラインフレームの中で
指定してやれば、さもひとつのHTMLファイルのように見せかけて
別のファイルを読み込むことが出来ます。
それすらもダメとなるとCGIでやるしかなくなると思いますが
割と簡単な実現方法だと思いますので、一度検討されてみてはいかがでしょうか
早速レスいただき、ありがとうございました。的確なアドバイス、大変うれしいです。
実はあまりPerlには明るくありません。というか、ゴリゴリ書くのが邪魔くさい、と言う方が正しい?(^_^;;)フリーのスクリプトの改造ぐらいの知識はあります。
ちなみにJavaScriptはフリーのスクリプトを借用する程度です。
以前にもフリーの簡易データベースを利用してPaul_xxxさんの提案に近いことをやったことがあるのですが、どうしてもサイト構成(リンク)が横並び的と言うか平面的と言うか、管理しにくい感じになってしまったので、それ以後試しませんでした。久しぶりに試してみます。
インラインフレームも試したことがありますが、少し以前のことで、ブラウザによって見栄えがかなり違っていたので、公開しなかった経験があります。最近のバージョンは大丈夫なのかな?
「フレームがダメ」っていうのはかなり友人の私見です。私は「フレーム使ってもいいじゃん!」と言っているのですが、「イヤ!何となく見難い」という返事が返ってきますので。彼が気に入っているサイトは、あんまりフレームを使っていないらしいです(^_^;;)
引き続き耳寄りな情報お待ちしていますので、よろしくお願いいたします。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- JavaScript スマホ上で、左右スワイプで次のページに移動させたいです 2 2022/11/11 17:04
- 美術・アート トレパク疑惑をかけられにくくするには ここ最近いわゆるトレパク警察のいいがかりがが厳しくなったようで 1 2023/08/21 09:59
- WordPress(ワードプレス) ワードプレスで、投稿一覧ページにタグを表示する方法 投稿につけたタグを、記事一覧ページにもカテゴリと 1 2023/05/10 21:41
- Perl Perl の外部モジュールの利用方法 3 2022/07/10 18:34
- CGI (フリーの)ツリー掲示版CGI、昔は多用させてもらいましたが・・今セキュリティ上どうでしょう? 2 2023/06/25 07:18
- その他(開発・運用・管理) WindowsからSSHでサーバーにあるファイルをダウンロードできない…。 3 2022/04/24 11:08
- ホームページ作成・プログラミング CGIが実行可能なHP領域又はレンタルサーバーでおすすめの所を教えてください 現在ホームページ領域の 1 2023/01/01 11:47
- au(KDDI) 特定の画面を見るとスマホが固まります ご覧頂き有難うございます。 特定のページを見るとスマホが固まり 1 2023/08/21 19:29
- MySQL データベースの複製の仕方(mysql) 2 2023/05/30 18:24
- Access(アクセス) AccessVBAで降順にするテーブル作成クエリを使用して作成したテーブルを削除し同一のテーブル作成 1 2023/01/06 11:17
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
C言語初心者の質問失礼します。
-
dataファイルをxtxファイルにす...
-
csvファイルを開かずに文字を検...
-
パワーポイントの画面表示が点...
-
VBでPDFのページ番号を書き換え...
-
特定のファイルを作成している...
-
WAVファイル同士の結合が可...
-
fopenできる上限の変更
-
VB6で、変数の値を別ファイルの...
-
VB6でのファイル作成方法
-
SSIを使わずに・・・
-
【C#】リソースファイルの埋め...
-
グローバル変数のよくない使い...
-
VB.NETによるプロセス間通信
-
MFCでPDFビューアアプリ作成中
-
巡回ロボットはincludeファイル...
-
音を出す方法
-
マイクラでPythonのプログラミ...
-
windows.hがincludeされない
-
二次元配列をクリップボードに...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
C言語初心者の質問失礼します。
-
ファイル名の先頭にアンダース...
-
csvファイルを開かずに文字を検...
-
大きいサイズのテキストファイ...
-
テキストファイルの最終行を削...
-
ドラッグアンドドロップでファ...
-
分割コンパイルの#defineについて
-
バッチで118項目のCSVを処理し...
-
CSVファイルへの保存の際、デー...
-
グローバル変数のよくない使い...
-
C言語のfopenについて教えてく...
-
SGファイルって何ですか?
-
VBに、Cのincludeのようなもの...
-
ファイルの結合
-
fopenできる上限の変更
-
「VBScript」ADODB.Streamにお...
-
iniファイルに追記がしたいです。
-
XMLファイルの表示について
-
Excelマクロでの再読込み方法
-
VBAにてEXCEL以外のファイル(テ...
おすすめ情報