こんばんは。
私はHTMLに関しては、簡単なホームページを作る事ができる程度です。お手柔らかにお願いします(^^)。
私は自分のホームページを持っているのですが、大体のデザイン(外枠)をHTML等に詳しい友人に作ってもらって、その中だけをいろいろいじくっています。
ホームページの内容はコンテンツの部分と、メニューの部分が分かれています。よくあるフレームで分かれているような感じなのですが、実際はフレームを利用しておらず、すべてのページに同じHTMLデータが打ち込まれています。しかし、これでは「メニュー」部分に変更があればすべてのページを変更させなくてはならず非常に面倒です。
そこで、フレームのように、別のところで「メニュー」の内容をいじくれば、すべてのページに変更が反映されるような方法はありますか?フレームは使いたくありません。宜しくお願いします。
(「できない」なら「できない」とズバッとお願いします!)
No.2ベストアンサー
- 回答日時:
できることはできます。
簡単な方法ならメニュー部分をJavaScriptで書き出すようにすればスクリプトファイルを修正するだけで全部のhtmlファイルに反映されます。
たとえば
Menu='<a href="menu1.html">menu1</a>\n'
+'<br>\n'
+'<a href="menu2.html">menu2</a>\n'
document.write(Menu);
と書いたスクリプトファイルをmenu.jsとでもして保存し、htmlのメニューの部分に
<script language="JavaScript" src="menu.js"></script>
と書けばスクリプトファイルのhtmlがブラウザで表示されます。
なのでスクリプトファイルだけを修正すれば何十ファイルあろうがすべてのファイルに反映されます。
ちょっと難しかったですかね^^;
もっと簡単にはDreamweaverなどのソフトを使えば一括に置換してくれる機能があるのでそれで修正したほうが簡単かも。
No.4
- 回答日時:
私のやっている簡単な方法は、
画像に項目を配置して項目からリンクしたメニュー(
クリッカブルマップ)を一つ作っておいて、これを各ページにコピペします。表示の位置はテーブル中にいれて決めます。
変更したときは、一つだけ修正してコピペで入れ替えします。
10ページ位なら全然手間ではありません。
No.3
- 回答日時:
私もメニューは面倒臭く感じていました。
そこでこんなものを作りました
ご参考になればと思います。
使いまわしが出来るように---部で4つあり、2つ目を変更するだけで
使えるようになっています。
ただ、所詮JavaScriptですからクローラはリンクをたどりませんし、noscriptに代替リンクを貼ると結局同じなんですけどね。
--------------------------------------
NowURL = unescape(window.location);
--------------------------------------
SiteTitle = "サイトタイトル";
ContentsName = new Array(3);
ContentsName[1] = "Contents1";
ContentsName[2] = "Contents2";
ContentsName[3] = "Contents3";
FileNameList = new Array();
FileNameList[1] = new Array("/Contents1/page1","/Contents1/page2","/Contents1/page3","/Contents1/page4","/Contents1/page5");
FileNameList[2] = new Array("/Contents2/page1","/Contents2/page2","/Contents2/page3","/Contents2/page4","/Contents2/page5");
FileNameList[3] = new Array("/Contents3/page1","/Contents3/page2","/Contents3/page3","/Contents3/page4","/Contents3/page5");
PageTitleList = new Array();
PageTitleList[1] = new Array("Page1Title","Page2Title","Page3Title","Page4Title","Page5Title");
PageTitleList[2] = new Array("Page1Title","Page2Title","Page3Title","Page4Title","Page5Title");
PageTitleList[3] = new Array("Page1Title","Page2Title","Page3Title","Page4Title","Page5Title");
------------------------------------------------
StartAnchorTag = '■<a href="./index.html">';
EndAnchorTag = '<\/a><br>';
if(NowURL.indexOf("abc.com/index") >= 0){
StartAnchorTag ='■';
EndAnchorTag = '<br>';
}
document.open();
document.write('●' + '<b>' + SiteTitle + "メニュー" + '<\/b><br>');
document.write(StartAnchorTag);
document.write("トップページ");
document.write(EndAnchorTag);
for(j = 1;j < ContentsName.length;j++){
document.write('□<a href="JavaScript:ok(' + j + ');">');
document.write(ContentsName[j]);
document.write('<\/a><br>');
document.write('<ul id="tree' + j + '"class="menu" style="display:none;">');
for(i = 0;i < FileNameList[j].length;i++){
StartAnchorTag = '<a href=".' + FileNameList[j][i] + '.html">';
EndAnchorTag = '<\/a>';
if(NowURL.indexOf(FileNameList[j][i]) >= 0){
StartAnchorTag ='<b>';
EndAnchorTag = '<\/b>';
}
document.write('<li>');
document.write(StartAnchorTag);
document.write(PageTitleList[j][i]);
document.write(EndAnchorTag);
document.write('<\/li>');
}
document.write('<\/ul>');
}
document.close();
----------------------------------------------
function ok(n){
id="tree"+n;
if(navigator.appName == "Netscape"){
if(document.getElementById(id).style.display == "none"){
document.getElementById(id).style.display="block";
}else{
document.getElementById(id).style.display="none";
}
}
else if((navigator.appName.indexOf("Microsoft")>=0)||(navigator.appVersion.charAt(0)>=4)){
if(document.all(id).style.display == "none"){
document.all(id).style.display="block";
}else{
document.all(id).style.display="none";
}
}
}
-------------------
IE6なら動くと思いますよ。
内容については勝手に解釈してくださいね。
ありがとうございます。
私はそこまでプログラム等に詳しくないので、詳しい友人に聞いて、教えてもらいます。わざわざありがとうございました。
No.1
- 回答日時:
SSIのincludeコマンドという物を使うと、思っていらっしゃるようなことが出来ます。
ただ、お使いのサーバーでSSIが使えるようになっていないと駄目なんですけどね。
参考URL:http://www.scollabo.com/banban/ssi/ssi_005.html
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- HTML・CSS ホームページをちょっと加工する程度の無料または古くて安く購入できる作成ソフトを教えてください 5 2022/12/16 12:17
- 画像編集・動画編集・音楽編集 動画をディスク作成すると画像が乱れる。 4 2022/06/24 07:49
- C言語・C++・C# 【C++】IDirect3DSurfaceのディープコピーは可能ですか? 1 2022/07/06 02:47
- JavaScript スマホ上で、左右スワイプで次のページに移動させたいです 2 2022/11/11 17:04
- メガネ・コンタクト・視力矯正 失敗した高額メガネ 6 2022/12/03 23:11
- サングラス・カラコン 4000円以内のメガネフレーム 9 2022/12/01 10:30
- 家具・インテリア ダブルのベッドにクイーンのマットレス 5 2023/02/11 08:35
- SEO ホームページを作る際の質問です 1 2023/06/07 18:50
- その他(ファッション) スポーツメガネでフレームの色は白などはあり? 2 2022/11/30 07:26
- 写真・ビデオ iPhoneで撮影した動画の画角をキープした状態で容量を減らす方法。 3 2022/09/25 17:23
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
任意団体名でも開設できますか
-
バリュードメインを使っていま...
-
画像録画ソフト Apower RECの解...
-
サーバーログイン情報とFTP接続...
-
アフェリエイトって登録したサ...
-
イントラネットを構築したい
-
iPhoneで見れるホームページが...
-
http://cloth-gallery.net/inde...
-
インターネット用語について教...
-
認定NPO法人カタリバ
-
au光のIPv4/IPv6デュアルスタッ...
-
言語バーについて
-
MP3のURLが知りたい
-
ホームページアドレスや画像ア...
-
有料サイトの開設方法
-
FC2 BLOG <AUDIO TAGを入れプ...
-
ホームページ
-
自分のドメインが他者のサイト...
-
インターネットの環境をポケッ...
-
Slackの料金体系に詳しい方教え...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
pdfファイルへの直リンクからリ...
-
Wordファイルを2ページおきに別...
-
LZHファイルがダウンロードでき...
-
ASPファイルの編集
-
ホームページで音楽をダウンロ...
-
BitTorrentについて質問です。
-
ホームページにエクセルを
-
あるホームページがいつ作られ...
-
FC2ホームページの編集について
-
末尾が「asp」や「pdf」のサイ...
-
PowerPointでWeb公開できる?
-
ジオシティーズのHP
-
VNCについて
-
光なのにメールの送信速度が非...
-
別のパソコンからもHPの管理...
-
携帯からアップロード(カテゴ...
-
エクセル ドロップダウンリス...
-
イラストレーターで印刷範囲の...
-
メールの配信をストップさせた...
-
C/Sシステム・オープン系・汎用...
おすすめ情報