質問させてください
下記のような構造の 1.html と 2.html があるとします。
1.html:単体構造で2.htmlへのリンクがあります。
2.html:フレーム構造でB・Cのセットで構成されています。
実現したい事
●1.htmlから2.htmlへのリンクを複数用意し、どのリンクをクリックしたかによってB.Cの参照先がそれぞれ変わる
●2.htmlが直接開かれた時(1.htmlを介さず)には2.html内に記述された参照先が読み込まれる
1.html
┌───┐
│ │
│ A │
│ │
└───┘
2.html
┌───┐
│ B │
├───┤
│ C │
└───┘
条件
JavaScriptのみ、CGI等は使えない
1.htmlと2.htmlは通常のリンクであり、1.htmlと2.htmlが同時に開いている状態ではない事(親子関係ならば簡単に可能ですよね?)
何卒皆様のお力をお貸しくださいませ。
説明が下手なのでイメージがちゃんと伝わるか心配なのですが、不足な点がありましたらご指摘下さい、補足させて頂きます。
宜しくお願い致します。
No.1ベストアンサー
- 回答日時:
2.html を document.write を使って動的に作成する方法です。
まず、1.htmlの どのリンクから遷移してきたかを判断できるようにします。
----- 1.html -----
<a href="2.html?1>リンク1</a><br>
<a href="2.html?2>リンク2</a><br>
------------------
2.html は、JavaScriptのみで作成します。
----- 2.html -----
<html>
<script langage="JavaScript">
<!--
var f1 = "21.html"; // Bのデフォルトの参照先
var f2 = "22.html"; // Cのデフォルトの参照先
if (location.search != "") { // パラメータがある場合
if (location.search.substring(1) == "1") {
// パラメータが 1 の場合は B に 23.html, C に 24.html を表示する
f1 = "23.html";
f2 = "24.html";
} else if (location.search.substring(1) == "2") {
// パラメータが 2 の場合は B に 25.html, C に 26.html を表示する
f1 = "25.html";
f2 = "26.html";
}
}
// ここから HTML を動的に作成する
document.open();
document.write("<html>\n");
document.write("<frameset rows='50%,50%'>\n");
document.write("<frame name='fra1' src='" + f1 + "'>\n");
document.write("<frame name='fra2' src='" + f2 + "'>\n");
document.write("</frameset>\n");
document.write("</html>\n");
document.close();
//-->
</script>
</html>
------------------
こんな感じでいかがでしょうか?
完璧です。なんの問題もありません
こんなにも簡単に実現可能だとは思いもよりませんでした。
次ページに対する値の送信は他の用途でも使えそうです。
ありがとうございました!!
No.2
- 回答日時:
すでに回答が出てしまいましたね。
。。でもせっかく作ったので、こんな感じでどうでしょう?
//2.htmlの内容。
<html>
<script language="javaScript">
var TOP_URL = "blank"; // デフォルトで上フレームに表示するページ(blank.html)
var BOTTOM_URL = "blank"; // デフォルトで下フレームに表示するページ(blank.html)
a = location.search.split("&");
if ( a.length == 2 ) {
b = a[0].split("=") ;
c = a[1].split("=") ;
TOP_URL = b[1] ;
BOTTOM_URL = c[1] ;
}
document.write("<frameset rows=150,* >") ;
document.write("<frame src=" + TOP_URL + ".html> ") ;
document.write("<frame src=" + BOTTOM_URL + ".html> ") ;
document.write("</frameset> ") ;
</script>
</html>
// 1.htmlのリンク部分。
<a href="2.html" >リンク1</a><br> デフォルトページが表示される。
<a href="2.html?a=xxx&b=yyy" >リンク2</a><br> 上にxxx.html、下にyyy.htmlが表示される
少しでも参考になれば幸いです。
とても参考になります。
CGIでは簡単にクエリストリングを次ページで変数として使えるのですがJavaScriptではこのようにsplitをつかって分解する必要があるのですね。
とにかく今回の問題もおかげさまで解決しましたが。
教えていただいたことは他の部分にも大いに使えるためとても感謝しています。
ありがとうございました!!
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- JavaScript スマホ上で、左右スワイプで次のページに移動させたいです 2 2022/11/11 17:04
- SEO googleサーチコンソールで、重複URLが多数発生、その修正方法について 2 2023/06/23 16:15
- HTML・CSS HTMLの条件によって表示方向が切り替わる実装のコードを教えて下さい。 (コードは下記リンクを参照) 1 2022/09/25 14:35
- その他(プログラミング・Web制作) pythonのWebスクレイピングでfind_allだとurlがNoneに 4 2022/04/17 18:21
- HTML・CSS ホームページをちょっと加工する程度の無料または古くて安く購入できる作成ソフトを教えてください 5 2022/12/16 12:17
- SEO googleサーチコンソールでの重複ページ(ダブルスラッシュ) 3 2023/06/12 15:00
- HTML・CSS HTMLタグのあるCSVファイルを利用する方法 4 2023/03/19 14:41
- その他(プログラミング・Web制作) 次に、楽天のアジャイル就活に参加して、1日で内定を獲得できる。私は大企業に就職できる? 2 2022/04/17 13:38
- JavaScript jqueryを使ったスムーススクロールのコードを書いたのですが、HTMLコード内にある、a butt 2 2022/04/14 10:59
- JavaScript GoogleChart 階層ごとのブロックの長さを個別に設定したい 1 2022/07/06 14:27
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
時間ごとに表示するページを変...
-
インラインフレームで表示され...
-
フレームでの右クリック禁止
-
iframeの属性(スクロールバー)...
-
スマホ上で、左右スワイプで次...
-
エラー:書き込みができません ...
-
別ページのインラインフレーム...
-
フレームを跨ぐドロップダウン...
-
<a href="#" …>の意味を教えて...
-
bodyにidをつける理由は何ですか?
-
別ファイルのfunctionの読み込み方
-
(Javascript)印刷するファイル...
-
複数のJavascriptを1つのscrip...
-
base64encodeでの文字化けについて
-
入力したテキストボックスのデ...
-
ウインドウの後ろに隠れている...
-
JavaScriptでiframeの内容を「...
-
ウインドウを縮小しても文字を...
-
Cygwinでログをのこす方法
-
jQueryでdivをクリックし別窓で...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
スマホ上で、左右スワイプで次...
-
インラインフレームで表示され...
-
フレームを跨ぐドロップダウン...
-
子フレームの自動リロードは可...
-
別ページのインラインフレーム...
-
インラインフレームをドラッグ...
-
<iframe>~</iframe>内のwindow...
-
親フレームのURLによって、...
-
jqueryを利用してインラインフ...
-
エラー:書き込みができません ...
-
submitボタンで他のフレームを...
-
親フレームからkeydownイベント...
-
フレームでの右クリック禁止
-
別フレームの中にあるインライ...
-
フレームが入れ子状態です。フ...
-
別画面の関数の呼び出し
-
ワンクリック、ダブルウインド...
-
チェックボックスのチェックを...
-
親ウィンドウの別フレームを子...
-
フレーム分割すると動かない
おすすめ情報