mac版ネスケだけで起こる_parentの困った機能
[上に]
[前に]
[次に]
たけたけ
[E-Mail]
2000/04/03(月) 06:07:01
どうか、どん底から救ってやってください(T〜T)
フレームを利用してホームページを構築しています。
上、左、右のよくある3分けで、
それぞれ、ナビゲーター、目次、メインフレームという名前にしました。
この場合、1つのhtmlに、framesetを2重ループで記述し、
1度で定義してしまう方法がポピュラーなんですが、
私の場合、その方法を使うことが許されない環境下なので、仕方なく
frameset1.html,frameset2.htmlの2度に分けて、
set1 で ナビゲーターフレームと、それ以外、
set2 で、目次、メインフレームを設定しております。
さて、問題なのは、メインフレーム内のhtml(ソース)で
TARGET="_parent"を実行すると、
macのネスケのみ、すべてのフレームが解除されてしまうことなのです。
(丁度、TARGET="_top"を使った状態と同じになります)
もちろん、winのネスケや、他のブラウザでは、
frameset2.htmlのみを解除した状態で済み、それが健全な状態だと(^^;)思うのですが...
この現象を解消するのはどうすればいいのでしょう?
もしくは、私が使っているver.4.7特有の仕様なのでしょうか?
完全徹夜で苦しんだ私に、どうか御指導くださいませ...
Phine
2000/04/03(月) 06:34:05
たぶんバグだと思います。
解決方法としてとりあえず1つ思いついたのは、
それぞれのページでJavaScriptを使ってフレームがセットされてなければセットしなおす
です。なんか綺麗なやり方じゃないですけど。
猫
2000/04/03(月) 06:44:17
Mac持ってないのでテストも出来ませんが,もっと素直に
top.frames['表示したいフレーム'].location.href = "表示したいファイル";
ってするのが普通ですね.
何個かめのネストの途中に割られてるフレームに表示したい場合はparent.parent等としてその階層分親フレームを参照し,指定すれば良いはず
#あんまやら無いので確かではないですが.
>ナビゲーター、目次、メインフレームという名前にしました
日本語でフレームに名前つけてるんですか?
実害があるかどうかは知りませんが,半角の英数字で付ける方が歩なんですよ.
#もしかしたらそれが原因かも
結局テストできないのでバグかもしれませんが,javascriptの方法とフレームの名前のつけ方,両方試して見る価値はあると思います.
たけたけ
[E-Mail]
2000/04/03(月) 15:48:31
Phineさん、ご指導ありがとうございます。
猫さん、おっしゃる手法を具体的に使用しているサイトはないでしょうか。
私の乏しい知識ではちょっと理解できません(^^;)。
JAVAスクリプト・・・なんですよね?
>日本語でフレームに名前つけてるんですか?
書き方がおかしかったです。すいません。
ちゃんとアルファベットでつけてます。
┏━━━━━━━━━━━━━┓
┃navigater ┃
┗━━━━━━━━━━━━━┛
┏━━━━━━┓┏━━━━━┓
┃menu ┃┃main ┃
┃ ┃┃ ┃
┗━━━━━━┛┗━━━━━┛
・・・という構成で、
frameset2.htmlで設定しているmain.htmlのソースの中で
TARGET="_parent"を使用すると、普通は下のように
┏━━━━━━━━━━━━━┓
┃navigater ┃
┗━━━━━━━━━━━━━┛
ナビゲーターのみ残るというのに
macネスケ(4.7のみ??)では、すべて解除されるのです。
うー、勉強の足りなさに反省しております。
Phine
2000/04/03(月) 21:38:29
猫さんの方法は、たとえば main フレームの
<A HREF="abc.html" TARGET="_PARENT">
を、
<A HREF="JavaScript: parent.location='abc.html'">
に変える、ということだと思います。
猫
2000/04/03(月) 23:38:41
めちゃめちゃ具体的に書いたのですが・・・.
2重ループ(ループってなんだ?)で初めに指定した下のフレームを指定すればいいんじゃないの?って事です.
javascript使わずにTARGET=""で初めに分けた下のフレームの名前を指定しても同じ事.
要するに初めにframe1.htmlで分解したナビゲーターフレームと”それ以外”のそれ以外をターゲットで指定すればと言う事.
JavaScriptでやりたかったら親子関係を考えろと.
#全然的外れな事を言ってるのかなぁ・・・
ばびん
2000/04/04(火) 01:00:23
Mac版Netscapeは、
target=parent はダメダメですが
parent.location.href はちゃんと動きます。
ちなみに私の環境は
MacOS8.6 + Netscape4.7 です。
たけたけ
[E-Mail]
2000/04/04(火) 05:04:05
[[解決]]
ああ〜!うまくいきましたぁ!
使った方法は猫さんのおっしゃった
”それ以外をターゲットで指定すれば”
という手法です。ありがとうございました!
primeさんが2度目に書いてくださったようにも
書き換えてみたのですが、
こちらはポインタが砂時計に変わったきりで、
何も反応してくれませんでした。
単純に書き換えただけでは、ダメなんでしょうかね。
ばびんさんも御意見ありがとうございました。
ありゃ、もうすぐ夜明けです(^^;)。
[上に]
[前に]
[次に]