- ベストアンサー
メニューをフレーム以外で呼び出すことは可能?
全ページにメニューを書き込むと手直しとかが大変なので、メニュー用のHTMLを作ってそこから呼び出したいです。 フレームでできるのはわかりませんが、個人的にフレームが好きではないので他の方法があったらそちらにしたいです。 何かいい手段はないでしょうか?
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
ページ数にもよりますが、ファイルを開かずに置換できる高機能なテキストエディタでしたら苦もなく出来るのですが・・・。 また、サーバーサイドで行うもっとも簡単なのはSSIを使用する方法です。該当部分に <div class="nav" id="sitemap"> <!--#include virtual="/menue.txt" --> </div> とかでよいです。 ☆最近はSSIが利用できないレンタルサーバーもあるので確認すること ☆HTMLファイルの拡張子は.shtmlですが、.htaccessの設定で.htmlをSSIとして動作させることも可能 またPHPが利用できるサーバーでしたら <?php include("/menue.txt"); ?> とか・・ .html拡張子で動作させたいなら同様です。 また、すべてのページをサーバーサイドで動的に作成する方法もあります。ごく簡単な例としてすべてのデータを/dataにでもおいておいて、/にはindex.cgiをDIRECTORY_INDEXの最初に指定しておく。これで、たとえば/product/abc/efg.htmlが要求されると、/product/abc/efg.htmlは、環境変数PATH_INFOに格納された上で、index.cgiが動作し、/data/product/abc/efg.htmlを読み込みそのままサイトマップを追記して返すとか・・・ いずれの方法でも、HTMLソースにはincludeは現れませんし、javascriptを使用しませんのでSEO的にも問題ないでしょう。 それぞれの方法は調べてください。
その他の回答 (1)
- neko-ten
- ベストアンサー率55% (1287/2335)
Ajaxじゃないかね。 呼び出し元をサーバサイドにすれば、メニューだけ動的構造にもできるし。
お礼
回答ありがとうございます。 0から新しく学ばなければならないということがわかりました。 付け焼刃で不具合も怖いですし、素直に全ページにHTML記述で対応したいと思います。
お礼
回答ありがとうございます。 0から新しく学ばなければならないということがわかりました。 付け焼刃で不具合も怖いですし、素直に全ページにHTML記述で対応したいと思います。