リンクを自動生成する方法
- リンクを自動生成する方法とはどのようなものでしょうか?
- ディレクトリ構造を持ったWebサイトで全ファイルへのリンクを作りたい場合、どうすればよいのでしょうか?
- フォルダを選択すると、選択されたフォルダ内のファイルに対応するリンクを表示する方法はありますか?
- ベストアンサー
リンクを自動生成する方法
どの言語で実現できるか不明ゆえに質問させていただくため、 カテゴリが違うかもしれませんが、どうかご容赦を・・・ 次のようなディレクトリ構造を持った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、 になって欲しいのです。 このような動かし方は可能でしょうか? 可能ならば、どのようにすれば実現できるでしょうか。 アドバイスいただければ幸いです。
- kakashi1090
- お礼率100% (3/3)
- CSS
- 回答数2
- ありがとう数2
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
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>
その他の回答 (1)
- ORUKA1951
- ベストアンサー率45% (5062/11036)
それは、サイトマップで行うべきです。 >実際は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
- 複数のリストボックスからリンク
ホームページで複数のリストボックスから内容を選択して、指定したページへ移動させようと思っているのですが、方法がわかりません。 例えば、 ・1つ目のリストボックス・・・A ・2つ目のリストボックス・・・B を選ぶと "/a/b/" にリンクする、というようにしたいと思っています。 わかる方は、ぜひ教えてください!
- 締切済み
- HTML
- リンクでのデータ取得
いつもお世話になっております。 JSPから表示された画面にリストボックスとリンクがあるとします。リンク先はサーブレットになっています。 そこで、リストボックスで何か選択したあと、リンクをクリックした時、リストボックスで選択されている内容もサーブレットに送信するにはどうしたら良いでしょうか? submitであればgetparameterメソッドで取得できるんですが、ボタンではなくリンク形態で実現したいのです。 何卒よろしくお願いします。
- ベストアンサー
- Java
- エクセルのリンクについて
エクセルについて以下の質問があります。 例えば、A,B,Cの3つのファイルがあるとします。 そしてCファイルのA1セルに入力する数値を、AファイルのA1セルから持ってきているとします。(リンク) 同様にCファイルのB1セルには、BファイルのA1セルの値をリンクさせてきているとします。 この状態でA,B,Cの3つのファイルはリンクされている状態になっているのですが、これらを仮にテンプレートとし、それぞれをコピーします。(コピー先のファイルをD,E,Fファイルとします) するとこのD,E,Fファイルでは、元のA,B,Cファイルで掛けてあったリンクがクリアされてしまっています。 そこで今度はA,B,Cを1つのフォルダに入れ、フォルダごとコピーを掛けた場合、コピー先はリンクされたままです。しかし名前を変えるとリンクがクリアされてしまいます。 これを何とかクリアされずに、複数のファイルに掛けたリンクファイル郡をたくさん作りたいのですが、可能でしょうか?
- 締切済み
- オフィス系ソフト
- エクセル:リンクについて
こんにちは。 リンクのパスが開く人間によって変わってしまう事象が発生して困っています。 初歩的な質問かもしれませんが、どなたか改善法をご教授いただけないでしょうか。 【環境】 Aブック:マスタファイル ※サーバA内に格納 =>この中のセルA1から下記の複数ファイルにリンクを張っています。 Bブック:サブファイル ※サーバB内に格納 =>B1の値をAファイルのセルA1よりリンクを張っている。 Cブック:サブファイル ※サーバB内に格納 =>C1の値をAファイルのセルA2よりリンクを張っている。 【事象】 上記環境で私がAファイルのセルA1のパスを見たときは次のように表示される。 \\サーバB\Bブック\セルA1 しかし、別の人間がAブックのセルA1のパスを見たときは次のように表示されてしまう。 \\サーバB\サーバC\Bブック\セルA1 単純にリンクを張っているだけで特に関数等は使っていません。 officeは2007です。 説明が下手かもしれませんがよろしくお願いします。
- ベストアンサー
- その他MS Office製品
- リストボックスの時はリンク先に飛べない?
データ型=ハイパーリンク型のURLを格納しているテーブル/クエリをリストボックスに表示させたのですが、 クリックしてもリンク先に飛べませんでした。 コンボボックスなら可能でした。 リストボックスでも選択すればリンク先に飛べる方法があったら教えてください! よろしくお願いします。
- ベストアンサー
- オフィス系ソフト
- リスト選択したものをワークシートに自動表示させるには?
エクセル2007を使用しています。 コンボボックス?のリストから選択したものを、別のワークシート内の コンボボックスに自動的に表示させるにはどうすればよいのでしょうか? つまり、ワークシート1のリスト(A,B,C)から「A」を選択すると、 ワークシート3のリスト(A,B,C)も自動的に「A」が表示されるように したいのです。 用語が間違っているかもしれませんが、よろしくお願いします。
- 締切済み
- オフィス系ソフト
- ホームページビルダー V6.5
首記ソフトの使い方で教えて下さい。 ある1行をクリックするとA、B、Cという項目からいずれかを選択できて、クリックするとあるページのラベルの付いた部分に飛ぶようにしたいです。 ラベルの付いた部分へのリンク、リストボックスの作成までは分かりましたが、リストボックス内のA、B、Cの各項目からのリンクのさせ方が分かりません。どなたか教えて下さいm(__)m
- ベストアンサー
- ホームページ作成ソフト
- チェックボックスとボタンの組み合わせによってリンク先を決める
当方、script等にはまったく持って初心者です。 以下の仕様のJavascriptが作りたいのですが、全然わからないのです・・・。 チェックボックスAとボタンAを押す・・・・1のリンク先へ チェックボックスBとボタンAを押す・・・・2のリンク先へ チェックボックスCとボタンAを押す・・・・3のリンク先へ チェックボックスAとボタンBを押す・・・・4のリンク先へ チェックボックスBとボタンBを押す・・・・5のリンク先へ チェックボックスCとボタンBを押す・・・・6のリンク先へ 見た目的にはこんな感じです。 ------------------- □暇なときに回答ください □困ってます □すぐに回答ほしいです [Aボタン][Bボタン] ------------------- という感じです。 チェックボックスは複数選択する予定はありません。 (なので、チェックボックスではなく、ラジオボタンでも可です)。 チェックボックスを複数選択しない・・というとこへのツッコミはなしでお願いします^^; 何卒よろしくお願いいたします。
- ベストアンサー
- JavaScript
- Excelのリンクについて教えてください
説明が分かりにくくなってしまうのですが、よろしくお願いします。 Zドライブ/Xフォルダ/Aフォルダ/ファイル1~ファイル9までがあります。 ファイル2~9は様々な箇所でファイル1のリンクが張り付けられています。 このAフォルダの中のファイル1~9をコピーし、 Zドライブ/Xフォルダ/以下にBフォルダを作成し、 ファイル1~9を張り付けたときに、Aフォルダのファイル1の内容のリンクではなく、 Bフォルダのファイル1の内容がリンクするように設定するには、再度2~9までにリンクを張りなおさなければいけませんでしょうか?なにか他に簡単にリンクの設定ができる方法がありましたら教えてください。
- 締切済み
- オフィス系ソフト
- Excelのリンクについて
Excelのリンクの更新について教えて下さい。 ファイルがA,B,Cと3つあります。 ファイルAのセルA1は「ファイルBのA1」を参照してます。ファイルBのセルA1は「ファイルBのA2+ファイルCのA1」と足し算してます。 (れい:ファイルBのA2入力値「10」、ファイルCのA1入力値「100」とでもします。この時、ファイルAのA1は「110」ですよね。) この状態でファイルA、Bを保存して閉じ、ファイルCのセルA1の値を更新し保存をしてファイルCを閉じます。(れい:ファイルCのA1入力値を「100」から「200」に更新。) 次に、ファイルAだけを開きます。 ファイルAのセルA1の値は「110」でした。 この時に、ファイルCの更新をファイルAに反映することって可能ですか??(ファイルAのセルA1の値を「210」にしたいです。) (1)ファイルAを開くときに「リンクの更新・・・はいorいいえ」メッセージで「はい」を選択してもファイルCの更新まではしてくれませんでした。 (2)ファイルAを開き、「編集」-「リンクの更新」をしてもやはり駄目でした。 (3)ファイルを3つ開いてリンクの更新なりするとOKでした。 上記のように試してみたのですが、ファイルAだけを開いてファイルCの更新を反映させる方法を教えて下さい。 大変初歩的な質問で申し訳ないのですがよろしくおねがいします。
- ベストアンサー
- オフィス系ソフト
お礼
お礼が遅くなりました。 今、教えていただいた方法で試してみました。 これなら期待通りのページが作れそうです。 サンプルソースまで載せていただき、助かりました。 ご教授本当にありがとうございます^^