どの言語で実現できるか不明ゆえに質問させていただくため、
カテゴリが違うかもしれませんが、どうかご容赦を・・・
次のようなディレクトリ構造を持ったWebサイトを作りたいと考えています。
================================================
[root] top.html
|
|――――――――――
| |
[folder1] [folder2]
| |
[A.html B.html C.html] [A.html B.html C.html]
================================================
つまり、同じ名前のHTMLファイルを格納したフォルダが複数個存在している状態です。
※上の図ではA.html、B.html、C.htmlの3つだが、
実際はA.html~EZ.htmlのように100個以上のファイルを格納している。
※上の図ではフォルダがfolder1とfolder2の2つだが、
実際はfolder1~folder30のように30個以上のフォルダが並列に存在している。
このような構造で、top.htmlに全ファイルへのリンクを作りたいと考えています。
top.htmlでどのように動かしたいかというと・・・
(top.htmlの簡易デザイン↓)
================================================
[フォルダを選択できるリストボックス]
・Aへのリンク
・Bへのリンク
・Cへのリンク
================================================
[フォルダを選択できるリストボックス]でフォルダを選択すると、
Aへのリンク、Bへのリンク、Cへのリンク、
それぞれのリンク先が、
選択されたフォルダのA.html、B.html、C.html、
になって欲しいのです。
このような動かし方は可能でしょうか?
可能ならば、どのようにすれば実現できるでしょうか。
アドバイスいただければ幸いです。
No.1ベストアンサー
- 回答日時:
JavaScriptを使ってみてはいかがでしょう?
selectのonchangeでフォルダを保存させ、
リンクのhrefでJavaScriptを起動させ、
そのfunctionはフォルダとhtmlファイル名を
合体させる…みたいな。
何か上手く説明できてないので、サンプルソースです。
↓↓↓JavaScript↓↓↓
var folderData = "";
function selectChange(linkValue) {
folderData = linkValue.value;
}
function linkJump(hrefValue) {
location.href = folderData + "/" + hrefValue;
}
↓↓↓html↓↓↓
<select onchange="selectChange(this)">
<option value="A">Aフォルダ</option>
<option value="B">Bフォルダ</option>
<option value="C">Cフォルダ</option>
</select>
<a href="javascript:linkJump('A.html')">・Aへのリンク</a>
<a href="javascript:linkJump('B.html')">・Bへのリンク</a>
<a href="javascript:linkJump('C.html')">・Cへのリンク</a>
お礼が遅くなりました。
今、教えていただいた方法で試してみました。
これなら期待通りのページが作れそうです。
サンプルソースまで載せていただき、助かりました。
ご教授本当にありがとうございます^^
No.2
- 回答日時:
それは、サイトマップで行うべきです。
>実際はA.html~EZ.htmlのように100個以上のファイルを格納している。
大きなサイトの場合は、そんなことしません。
さらに分類して、何階層にも分けるのが通常です。そうしないと大変です。
/ ルート
|-- index.html
|-- sitemap.html
|-- sitemap.txt 検索エンジン用のサイトマップ--XMLです。
|-- SSI/
| |-- breadcrumb.txt
| |-- grobalNavigation.txt
|-- images/
|-- cgi-bin/
|
|-- category1/
| |-- index.html
| |-- images/
| |-- SSI/
| | |-- navigation.txt ※後で説明
| |-- sub1/
| | |-- index.html
| | |-- images/
| | |-- SSI/
| | | |-- navigation.txt
| | |-- sub1/
| | |-- sub2/
| |-- sub2/
| |-- index.html★
| |-- images/
| |-- SSI/
| | |-- navigation.txt
| |-- sub1/
| |-- index.html
| |-- images
| |-- SSI/
| |-- navigation.txt
|
|-- category2/
| |-- index.html
| |-- images/
| |-- SSI/
| | |-- navigation.txt
| |-- sub1/
| | |-- index.html
| | |-- images/
| | |-- SSI/
| | | |-- navigation.txt
| |-- sub2sub1
| |-- index.html
| |-- images
| |-- SSI/
| |-- navigation.txt
のように・・・、あなたのMy Documentの中と同じです。ひとつのフォルダーに何十個もファイルがあったら見つけ出すのが大変です。
その上で、各ページには上の階層へのリンクと、下の階層は多くても2階層程度のリンクしか書きません。
★のファイルには
<p class="breadcrumb"><!-- パンくずリスト(breadcrumb list) -->
<a href="/">TOP</a></li> | <a href="/category1/">カテゴリートップ</a> | <a href="/category1/sub2/">カテゴリートップ</a> | sub2
</p>
そのページに関連ぶかいリンク
<div class="nav" id="navigation">
<ol>
<li><a href="/">TOP</a></li>
<li><a href="/category1/">カテゴリートップ</a></li>
<li><a href="/category1/sub2/">カテゴリートップ</a>
<ol>
<li><a href="/category1/sub1/"></a>
<ol>
<li><a href="/category1/sub1/sub1/">sub1</a></li>
<li><a href="/category1/sub1/sub1/">sub2</a></li>
</ol>
</li>
<li><a href="/category1/sub1/"></a>
<ol>
<li><a href="/category1/sub1/sub1/">sub1</a></li>
<li><a href="/category1/sub1/sub1/">sub2</a></li>
</ol>
</li>
・・・【中略】・・・
</ol>
</li>
</ol>
</div>
そして、全体の
<div class="nav" id="grobalNavigation">
<ol>
<li><a href="/">TOP</a></li>
<li><a href="/category1/">カテゴリートップ</a>
<ol>
<li><a href="/category1/sub1/"></a></li>
<li><a href="/category1/sub1/"></a></li>
</li>
<li><a href="/category2/">カテゴリートップ</a>
<ol>
<li><a href="/category2/sub1/"></a></li>
<li><a href="/category2/sub1/"></a></li>
</ol>
</li>
<li><a href="/category3/">カテゴリートップ</a>
<ol>
<li><a href="/category3/sub1/"></a></li>
<li><a href="/category3/sub1/"></a></li>
</ol>
</li>
</ol>
</div>
とか・・・が一般的--使いやすいでしょう。
<body>
<div class="header">
<p class="breadcrumb"></p>
</div>
<div class="section">
本文
</div>
<div class="footer">
<div class="nav" id="navigation"></div>
<div class="nav" id="grobalNavigation"></div>
</div>
</body>
とすることが多いです。HTML5の場合は、下記のような構造にしています。
<body>
<header>
<p class="breadcrumb"></p>
</header>
<section>
本文
</section>
<footer>
<nav id="navigation"></nav>
<nav id="grobalNavigation"></nav>
</footer>
</body>
>このような動かし方は可能でしょうか?
HTMLには、きちんと文書構造だけを記述すれば、あとは好きなように、そのページに最適な方法でデザインすればよいでしょう。
リンク自体を動的に作成するのはどのプログラムでも可能ですが、必ずサーバーサイドで動作させるか、ローカルでPerlなどを使って事前に作成しておくことになりますが、その場合にそれぞれのHTMLに正しくページタイトル<title></title>が記述されていないとならないことは理解できます。
誤動作や製作中のページの処理、隠したいページの処理を考えると、自動作成ではなく、それぞれのカテゴリーごとに事前に作っておくき、includeで埋め込むことをお勧めします。
丁寧が回答ありがとうございます(@@
一度読んだだけでは理解できない部分もあったので、
これから検索しつつ探っていこうと思います。
より効率の良い方法を提案し、詳しいコードまで丁寧に教えてくださって大変ありがたいです^^
調べて自身のスキルアップを図ります。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- その他(コンピューター・テクノロジー) <a href="file:///フォルダ名/ファイル名">リンクテキスト</a>について 1 2023/04/06 22:40
- Visual Basic(VBA) 【マクロ】フォルダにファイルが1つも無い時に、ファイルがありませんとメッセージを表示する 4 2022/08/28 08:48
- フリーソフト テキストファイル内を検索したい 1 2022/06/01 08:33
- Excel(エクセル) マクロのコードを、少しでも削って短くしたい 3 2022/08/30 07:46
- Excel(エクセル) 【マクロ】フォルダAからダBへファイルを、ファイルの更新日時の条件で、1つづつ移動するには? 3 2022/08/25 09:56
- HTML・CSS スマホでHTMLファイルを開いてリンク先へ移動させたいです 2 2023/03/04 18:06
- CGI htmlからパラメータで、cgiに渡したい。 1 2023/02/06 16:15
- Ameba(アメーバブログ) アメブロは、HTMLのタグの入力を許さないブログ・サイトですか? 1 2023/06/18 18:48
- ホームページ作成・プログラミング アメーバ・ブログは"HTMLタグ"を許可してないのですか? 2 2023/06/17 21:08
- iPad htmlファイルを翻訳したい 2 2022/11/07 23:50
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
複数行にまたがる括弧を表示し...
-
divタグ内のコンテンツが重なっ...
-
ol要素の番号とリスト項目の離...
-
HTMLで組織図を作成する方法
-
リストマーカーをボックス内に...
-
HTMLのdlとul どちらが正しいと...
-
<table>の高さ固定。情報増加時...
-
navの横並びにsnsアイコンを付...
-
ulタグやliタグの中でbrタグ...
-
アコーディオンメニューがかく...
-
「olタグ」内に「hタグ要素」...
-
左メニューをCSSで固定したい
-
<ul><li></li></ul>にするメリ...
-
HTML5のfooterに見出しを付けて...
-
CSS質問:大手サイトを見ると何...
-
レスポンシブWebデザインでリン...
-
横並びのリストで左端がはみ出る
-
li 長さ指定
-
ページを開いているときのリン...
-
3番目のBoxだけずれる
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
リストマーカーをボックス内に...
-
<table>の高さ固定。情報増加時...
-
ulタグやliタグの中でbrタグ...
-
html/cssの、navを2段にする...
-
リストの数字のフォントサイズ...
-
liタグの中に<p>タグやら<dl>を...
-
CSSでつくったメニューのアニメ...
-
htmlの<ol>タグで、数字などを...
-
ページを開いているときのリン...
-
リンク文字同士の間隔を開ける...
-
レスポンシブWebデザインでリン...
-
<ul><li></li></ul>にするメリ...
-
divタグ内のコンテンツが重なっ...
-
HTMLで組織図を作成する方法
-
ulとliで囲った文字の一部を変...
-
HTML5のfooterに見出しを付けて...
-
<ul>~</ul>が二つ続くと間に改...
-
html <ul></ul>の並びで一行空...
-
複数行にまたがる括弧を表示し...
-
画像にリンクを張ると画像がず...
おすすめ情報