ラウンジ(兼FAQ掲示板)

ツリー式メニューでフレーム表示されない
過去ログ 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分]
丁寧なご指導ありがとうございます。

過去ログは拝見していたのですが、ご指摘の部分に全く気づきませんでした。
単純すぎて、目が曇っていたようです。

無事にフレーム仕様となりました。

お騒がせ致しました<(_ _)>


感謝致します。
一定時間書込が無かったので過去ログに移りました

suepon.com | CGI作成/CGI制作 | JavaScript | ドメイン検索 | バナー自動作成 | Google ダンスツール | 松浦亜弥 | H.P.memo | パソコン | ネイル

Copyright (C) 2002 - 2009 suepon , All rights reserved. Powered by CGI Script Market.