NNで開いた子ウィンドウのフォームにフォーカスを

[上に] [前に] [次に]
蓮子 [E-Mail] 2000/01/21(金) 18:23:11
Netscapeで
子ウィンドウが開いた時に、子ウィンドウの中の1つの入力フォームに
フォーカスを当てるため、子ウィンドウのurlに
<BODY onLoad="document.fo.el[0].focus();">
を書いています。

開いた直後は確かに1番目のフォームにフォーカスが当たるのですが、
その後、表示しているテーブルが一度消えて、フォーカスが消失します。

一旦子ウィンドウが開いた後、子ウィンドウが開いたまま
再度親ウィンドウから子ウィンドウにURLを表示する時は
問題なく動作するのでたぶんウィンドウが開く時になにか
あるのではないかと思います。
画面を見たカンジではテーブルを書き直している。
これはNNの仕様でしょうか?対処法はあるでしょうか?
(行列の多いテーブルなので表示時間も倍?かかって困っています)

とこやん 2000/01/21(金) 20:08:28
蓮子さん、こんにちわ。

子ウィンドウにイメージを使ったり、
また、イメージをあらかじめキャッシュしたりするような処理をしたりしていませんか?
子ウィンドウにイメージを使うと、
テキストが落ち終わってから、もう一度サーバに接続してイメージを取りに行くから、
そこでonLoadがだめになっちゃうんじゃないのかなぁ?

私は以前、イメージをキャッシュしておこうとしたら、
イメージを取りに行く前にonUnload処理が動いてしまい、困った事が有ります。
ご参考になれば良いのですが。

蓮子 2000/01/21(金) 20:57:59
いいえ、テーブルの1マス1マスに入力フォームがあるページです。
フォームは全部<INPUT TYPE=TEXT 〜>の入力エリアで40超あります。
キャッシュなど凝ったことは一切していないベタベタ書いただけのページです。
あ、ヘッダにスタイルは指定しています。

ただ、cgiに似た仕組みで全てのページを表示しています。
仕組みについては社オリジナルのシステムなのでアレですが、
Netscapeでいつもそうなる訳ではないようですね。
そう見えないだけかしら?

すわみつお 2000/01/21(金) 23:48:49
前に読んだ本には、テーブルを使うと次のようなことがあると書いてありました。
テーブルを含むページを表示する際、ブラウザは、えぇとブラウザは、・・・・・・
兎に角なにやら計算をしなくてはならないそうです。
つまりセル内にあるもののサイズ(タテ・ヨコ)を計算した上で
しっかりとテーブルの枠組みを作ると。
蓮子さんがお困りの事象は、ブラウザがきちんと表示させるためにonLoad後
改めてページの表示のための計算をしているのが原因だと思います。
ですからその対策としては、予め<TD>,<TH>タグに width height の値を的確にいれておけば
よいのではないでしょうか。

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