IE4でopen("")後submitすると2枚ウィンドウが開く
[上に]
[前に]
[次に]
もう疲れた
2000/03/16(木) 20:45:45
IE4 SP1;263 6;2735; でだけ発生するのですが、
document.form1.target = targetname;
open("", targetname);
document.form1.submit();
とすると、空白ウィンドウと出力結果が返されたウィンドウの2枚
が表示されてしまいます。
調べてみた結果、window.nameが両方とも同じなのでターゲット
ウィンドウの検索がおかしいようです。
どなたか同様の現象を体験した方はいませんでしょうか?
IEのバグだとは思っているのですが、ここを検索してもヒット
せず、MSDNにもそれらしい情報が見当たりません。
どんなささいな情報でも良いので心当たりのある方のアドバイス
がいただけると幸いに思います。
茶雄
2000/03/17(金) 02:58:08
document.form1.target = targetname;
を削除して、
<form name=form1 target=targetname>
にしては?
もう疲れた
2000/03/17(金) 09:10:52
その方法も試してはみたのですが、現象は変わりませんでした。
以下の障害がこの現象のことを言っているのではと思っているの
ですが、今一つ確信がもてないでいます。
文書番号: J047479
Internet Explorer の "Frame Spoof" 問題の修正プログラムをインストールすると、外部からフレームを解析することができなくなくなります。
これは、修正プログラムをインストールした結果、Frame コレクションからフレームごとの Window オブジェクトへのアクセスができなくなり、フレームに関する情報を取得することができなくなるためです。
フシギダネ
2000/03/17(金) 09:11:16
>open("", targetname);
この行、要らないように思うのですが。
document.form1.target = targetname;
document.form1.submit();
もう疲れた
2000/03/17(金) 18:28:23
open()を呼びませんとウィンドウを閉じるときにconfirm()が
呼ばれてしまいますのでその対策のためにopen("")を呼んでいます。
不思議なのはローカルにファイルを置いてfile:で呼ぶと再現せず、
IIS管理下のディレクトリに置いてhttp:で呼ぶと再現するのです。
以下に現象を再現可能にしたソースを付記します。
<HTML>
<HEAD>
<SCRIPT LANGUAGE=JavaScript>
<!--
function doChk() {
document.form1.target = "ok";
open("", "ok");
document.form1.submit();
}
//-->
</SCRIPT>
</HEAD>
<BODY>
<FORM name="form1" action="aa2.htm" method="POST" target="ok">
<input type="button" name="chk" value="Check" onClick="doChk()">
</form>
</BODY>
</HTML>
無責任官庁
2000/03/18(土) 22:19:01
うちはIE5なんでアレですけども…
(しかも、その現象をこの目で見たワケじゃない)
ちょっと面倒かもしれませんが、以下のようにするのは難しいですか?
<HTML><HEAD>
<SCRIPT LANGUAGE=JavaScript>
<!--
function doChk() {
okwin = open("", "ok");
okwin.document.open();
okwin.document.write("<FORM name=test action='aa2.htm' method=post>\n");
okwin.document.write("<input type=text name=a value='aaa'>\n");
okwin.document.write("</FORM>");
okwin.document.close();
okwin.document.test.submit();
return false;
}
//-->
</SCRIPT>
</HEAD><BODY>
<FORM name="form1">
<input type="button" name="chk" value="Check" onClick="return doChk();">
</form></BODY></HTML>
あとIEはインターネットオプションの“新しいプロセスで…”がオン
になってると、ウインドウ関連の繋ぎがちょっと怪しくなるっていう
現象は今までにいくつか見たことありますが。
参考までに。
もう疲れた
2000/03/21(火) 20:37:04
[[解決]]
> ちょっと面倒かもしれませんが、以下のようにするのは難しいですか?
情報の提供ありがとうございます。残念ながら呼び出される側のページ
にはJSPのコードが含まれているためこの方法は使えませんが、この回避策
で正常に動作することを確認しました。
> あとIEはインターネットオプションの“新しいプロセスで…”がオン
> になってると、ウインドウ関連の繋ぎがちょっと怪しくなるっていう
> 現象は今までにいくつか見たことありますが。
解決しました。このチェックをオフにすることでこの現象が回避できる
ことを確認しました。正常に動作する環境ではこのチェックの有無は関係
なかったため発見ができないでいました。
たくさんの方々から有用なアドバイスを頂けた事に感謝します。
[上に]
[前に]
[次に]