過去ログ NO.1142586695
□ ふたば [2006年03月14日18時26分]お世話になっております。 ツリー式メニューを利用させて頂きたいと設置させて頂きました。 リンクなど問題なく動作しているのですが、ターゲットウィンドウを 指定しても、必ず新規画面が立ち上がる「_blank」の状態で動作してしまいます。
以下の記述の部分で、ウィンドウ名を指定するだけでは フレーム仕様にならないのでしょうか?
ちなみに左フレームのメニューから、右フレーム「main2」 にリンク先を表示したいと考えております。
/* ターゲットウィンドウ */ tgt = "_main2";
お手数ですが、どなたかご助言下さい<(_ _)>
□ NXer [2006年03月16日21時19分] ふたばさん、過去ログ NO.1134377954 を参考にしてください。NXerです。
その1)フレーム管理の設定
過去ログでは、下のようにフレームを管理するhtmlファイルで、frame の name属性を"doc"という「名前」で設定しました。 -------------------------------------------- <FRAMESET cols="37%,63%"> <FRAME name="menu" src="menu.html"> <FRAME name="doc" src="open_doc.html"> <NOFRAMES> --------------------------------------------
ふたばさんの/* ターゲットウィンドウ */ の場合は、<FRAME name="_main2"という設定です。
アンダーバーについて説明します。。 ■---------------------- tgt = "_main2"; □----------------------- tgt = "main2"; ------------------------
1.1 アンダーバーの付いた次の4つは「属性名」です。 ---------------------------------- _blank, _self, _top, _parent ---------------------------------- target="_self"のように使います。
他方 1.2 ------------------------------ name ="doc" target="doc" name ="main2" target="main2" ------------------------------- のように使うのは、フレームの「名前」です。 1.1と1.2の指定法があります。従って、ふたばさんの場合は、アンダバー のついた_main2という名前が、フレーム管理ファイルで設定されておれば 問題ありません。通例は、□のように、アンダバーは付けません。
その2)「最初から open_doc.html を表示」したい夢の実現
さて、過去ログでふたばさんが「最初から表示」したいという 希望は、このopen_doc.htmlというタイトルページの表示で、たぶん実現され ることになると思います。
この場合の問題点は、リンク先を表示したあと、ボタンをクリック して、収納したあとも依然としてリンク先が表示されるという点です。
javascriptにどのような工夫をしたら、収納時にリンク先の代わりに open_doc.htmlを表示できるのでしょうか。
-----------------------------新規挿入(116)は既存スクリプト 112 url="open_doc.html"; 113 function opendoc(){ 114 parent.doc.location.href=url; 115 } (116) function change(col){ ---------------------------------行番号は実際は不要。 ↑のように関数を作成します。置く位置はこの前後でよいと思います。
次に適当なのですが、起動したときにopen_doc.htmlを開くように します。それが156行の挿入です。 ------------------------------- (154) function menu_print () { (155) for (i in list) { 156 opendoc(); (157) bd = ""; -------------------------------- この代わりに <BODY> <SCRIPT> opendoc(); menu_print(); </SCRIPT> の方がよいのかもしれません。試してください。
さて、リンク先を開くボタンをクリックして閉じるボタンにしたとき リンク先コンテンツが表示されているフレームにopen_doc.html(タイトル ページ)を表示する関数の呼び出しを配置する位置です。 ------------------------------------------ (246) } (247) } (248) else { 249 opendoc(); // これが関数起動文 (250) end = cmv[p]; (251) limit = 0; (252) dis.src = img_close.src; -------------------------------------- 249行目に配置してみました。
スクリプトをさらに解析して、「親リスト」で場合分(ばあいわ)けを すれば、ふたばさんが希望されたそれぞれに、オープニングの タイトルページとは異なる親リストの数だけhtmlファイルを 開くこともできると思います。
とりあえず、フレームを使いツリー式メニュを左に、そして 右には、リンク先表示する時以外は、タイトルページ(open_doc.html) を、表示する愚案をお知らせします。
すえぽんさんの作品のほとんどは、それぞれに完成されて多くの人に 利用されていますが、個性を反映するには、このような変更が必要と 思います。そして、このツリー式メニューを採り入れたウェブサイトは、 真の意味で、世界に一つだけのものになります。
この小気味よいフレーム変換の魅力をモニターで体験しました。 当方の偏狭な「googleなどの検索にはフレーム使用は避ける」という鉄則も 少し、いや、大いに修正が必要になりました。
***********************作業メモ 次のようなファイル群が用意されているものとします。 tree_menu.html ・・・フレーム管理ファイル menu.html ・・・左フレーム用ファイルここにjavascriptを記述 open_doc.html ・・・右フレーム、タイトル・ページ 初めから表示用 ***********************************
□ ふたば [2006年03月17日18時11分]丁寧なご指導ありがとうございます。
過去ログは拝見していたのですが、ご指摘の部分に全く気づきませんでした。 単純すぎて、目が曇っていたようです。
無事にフレーム仕様となりました。
お騒がせ致しました<(_ _)>
感謝致します。
一定時間書込が無かったので過去ログに移りました
|
|