window.name='hoge'が効かない?

[上に] [前に] [次に]
無責任官庁 1999/04/19(月) 11:45:05
以前の書き込みで、親ウインドウに名前が無くてもつけられる、
っていうのがあったのですが、
親ウインドウで window.name='hoge' として、
子ウインドウで <a href='huga.html' target='hoge'>
としても、何故か新しくウインドウを開いてしまいます。
色々やってみたのですが、どうもIE4の場合だけ効かないようです。
これは”仕様”ですか?(^_^;)
それとも、私が何か勘違いしてますでしょうか?

#WinのNN3・NC4・IE3・IE5では正常動作確認済み
#バージョンはそれぞれの最新です

Nobu3 1999/04/20(火) 05:19:13
IE4ですが・・・
できましたよ?4.01SP1ですよね?
同じくNN3.01とNN4.04とNC4.5でも確認しました。もちろん日本語版です。
まさか、「’」と「”」の違いって事はないと思いますが・・・
ちなみに試したのはスクリプトは「’」でHTMLは「”」です。

まあ、親に表示したいなら「_parent」を使えばいいですから試したことありませんでしたが、なかなか面白いですね。

Nobu3 1999/04/20(火) 05:41:36
すいません。フレームと混同していたようです。
ですが、ウィンドウでも、できました。
条件は同じです。

'hoge'をつけたスクリプトのあるページから、
新しくウィンドウを開いて、その新しいウィンドウから'hoge'をターゲットにして呼び出しをする。
こういう事でいいんですよね?

無責任官庁 1999/04/20(火) 08:25:39
すみません。正確な状況でなかったです。
正確には、親ウインドウはフレームで切ってあって、その
子フレームのHTMLで window.name='hoge'を入れて、
そこで新しいウインドウを生成してます。
親フレームのHTMLに window.name='home'を入れたりもしましたが、
やはり、更にウインドウを生成してしまいす。

たこすけ 1999/04/20(火) 09:23:34
私も無責任官庁さんと同じ現象が起きます。

私の場合IE4の互換モード(以前のInternetExplorerVer.4)なんですけど
どうも新しく生成したウインドウがIE5で開いているみたいです。
IE5を入れる前はこんな事なかったと思うのに・・・うっうっうっ(泣)

無責任官庁さんも互換モードですか?

無責任官庁 1999/04/20(火) 09:43:08
私のはIE5は入れてませんので、
純粋なIE4.01sp1なんですよぉ。
なんでなんでしょう・・・おぅぃぉぃぉぃぉぃ(泣)

#正確には、入れてテストして正常を確認したあと、
#アンインストールして戻した、ってとこです。

IE5にちょっとでも侵されてないパソコンでやっても、
結果は同じでした。
ちょっとたこすけさんとは状況が違うみたいです・・・

Nobu3 1999/04/20(火) 10:44:47
うにゅ〜〜〜。
ちゃんとできてます〜・・・。
親ウィンドウの親フレームでも子フレームでも、
子ウィンドウの方からターゲットになってくれます。

一応やってる事を箇条書きにしてみます。
1.親フレーム(子フレーム)にスクリプトで名前(hoge)をつける。
2.子フレームからスクリプトでフォームのボタンからwindowを生成する。
3.生成された子ウィンドウから「hoge」にターゲットを指定してリンク。
4.ばっちりOK!
てな具合なんですが・・・
やっぱりどっか変なのかな・・・?

Nobu3 1999/04/20(火) 10:47:59
ちなみに、今はwindows95+IE4.01(4.72.3110.8)です。

それぞれのページに
document.write(window.name);
document.write(parent.name);
document.write(top.name);
なんてスクリプトをつけてみてはいかが?

Nobu3 1999/04/20(火) 10:52:18
素のままだとわかりづらいですね。
document.write('window : '+window.name+'<br>');
document.write('parent : '+parent.name+'<br>');
document.write('top : '+top.name+'<br>');
こっちのほうがいいです。
あと、IE5関係はクリーンな環境です。

無責任官庁 1999/04/20(火) 11:16:17
やってみました。
え〜と、親ウインドウの名前を'mainwin'とし、親ウインドウの
子フレームの名前を'manu'としたのですが・・・
子フレームのHTMLには、
window : menu・parent : mainwin・top : mainwin
と表示されました。
子ウインドウの名前は、'ko'です。子ウインドウには、
window : ko・parent : ko・top : ko
と表示されました。
別におかしい所は無いように思えますけど・・・(T_T)
バージョンも一緒です。
・・・すみません、今はちょっと無理なので、
近日中にそのページ公開しますので見てください。

無責任官庁 1999/04/20(火) 11:30:50
無理というのは、修正しなきゃいけないのもあるんですけど、
私が使ってるinfowebがサーバーメンテの為、
21日まで使用できないもんで・・・(^_^;)
(言い訳です)

とこやん 1999/04/20(火) 15:10:14
こんちわ。
たこすけさんも無責任官庁さんも泣かないで頑張れぇ〜!!

さてさてウィンドウ名(ここではフレーム名と同じですよね?)の指定ですが、
私も同じようなものを作ってますが、環境に関係なく動いているようです。
ただ私はwindow.name="hoge"ではなく、<frame name="hoge"...>としております。
もしかしてここが違う名前になってるって事はありませんでしょうか?
(以前自分がやった大失敗なんだな。ははは、、、)

たこすけ 1999/04/20(火) 15:58:08
> とこやんさん
応援ありがとうございます。

他のブラウザ&他のバージョンでは正常に動作するので
nameやTARGETは正しいと思います。
念のため他のサイトで確認しましたけど、やっぱりダメでした。
JavaScriptも有効です(←聞かれてないけど一応)
あと考えられるのはインターネットオプションの設定でしょうか?

でも・・・私・・・互換モードなんで・・皆さんとは違うかも・・・(泣きそう)

無責任官庁 1999/04/20(火) 17:44:49
どうも根本的に変なので、単純なテストをしてみました。
同一ディレクトリに、a.htmlと、b.htmlを用意します。
-----a.html------------
<html><head>
<script language="JavaScript">
<!--
window.name = "oyawin";
//-->
</script></head>
<body>
<a href="b.html" target="kowin">bへ</a>
bbbbbbbbbbbbbbbb
</body></html>
------------------------------------
-----b.html------------
<html><body>
<a href="a.html" target="oyawin">aへ</a>
aaaaaaaaaaaaaaaaaaaaaaaaa
</body></html>
------------------------------------
まず、IE4で a.htmlを開きます。そして、リンクをクリックします。
そうすると新しいウインドウが開きますね。
今度は新しいウインドウのリンクをクリックします。
何故か、さらにウインドウを開いてしまいます。
Netscapeとか、他のでやると当然のように b.html→a.htmlの時には
新しくブラウザは開かないはずです。
やはり設定とかですかねぇ。(^_^;)
不思議ですよぉ。

Nobu3 1999/04/21(水) 02:42:39
もしかして、この話ってローカルでの話ではないんでしょうか?
今まで成功しているのは、ローカル環境での話です。

あと、うちの「詳細設定」は「標準状態の設定」から
スムーズスクロール、ウェルカムメッセージ、デスクトップに表示。
を解除してるだけです。
詳細設定の他にそれらしい設定ってありませんよね・・・

みんこ 1999/04/21(水) 09:49:44
古い記憶で役に立たないかもしれませんが。
ローカルで思い出しました。

うちはマックさんなのですが、
別窓を開くと勝手にbase targetを(ローカルアドレスで)書き込んでくれます。
それで、ローカルでやってると日本語のフォルダとかあったりして
一人文字化けを勝手におこしてました。なんかまぬけな。
これをアップしてみるとちゃんと出来ていたような。
あとなんか色々不具合はありましたが..............忘れた。

別窓のソースを(ファイルでなくてブラウザで)
一度開いてみては?

たこすけ 1999/04/21(水) 10:42:05
純粋なIE4では「詳細設定」の「新しいプロセスでブラウズを開始」
にチェックが付いていると無責任官庁さんと同じ現象が起きるのかな?

互換モードでは「インターネットオプション」を選ぶと
「コンパネ」が開いてしまい、IE5の設定しか出来ない・・・しくしく

無責任官庁 1999/04/21(水) 11:25:28
[[解決]]
たこすけさん、恐らくそれが正解のようです。
いろいろ設定をいじくってやってみましたが、
”標準の設定”では正常に動作してしまいました。
あと、IE4のヤツ、他の設定(良く分からないけどスムーズスクロールとか?)
を変えた時とかも、自動的に「新しいプロセスでブラウズを開始」に
チェックを付けてしまうようです。←これすごいムカつくし、混乱する

というわけで、皆さんいろいろご協力ありがとうございました。
最終的には「IE4がバカ」という結果に落ち着きました。

たこすけ 1999/04/21(水) 12:27:19
ちょっとしたご報告

[[互換モードの場合]]
 IE5の設定で「別々のプロセスで...」にチェックをすると
 別ウィンドウはIE5で開く。
 チェックをしないと別ウィンドウは互換モードで開くけど
 別ウィンドウのリンクにTARGET指定があった場合には
 同一のウィンドウ名であっても、次々と新ウィンドウが開く(←ギャー!やめて〜)

といった感じでした。
解決方法は未だ不明ですが、本来の質問者である無責任官庁さんは
無事解決なされたようですし、なんか仕様っぽいので諦める事にします。
最終的には「互換モードがバカ」という結果に落ち着いて・・・(笑)

無責任官庁 1999/04/21(水) 12:39:17
いやぁ、まあ確かに解決方法といえば、「新しいプロセスでブラウズを開始」
のチェックを外す、しかないと思いますし・・・
スクリプトで制御できる問題ならいいんですけど、無理ですよね。

何かあっても、「これがIEの”仕様”です」で言い切れるみたい
なので、解決にしました。(^_^;)

[上に] [前に] [次に]