- - PR -
消去しました
投稿者 | 投稿内容 | ||||
---|---|---|---|---|---|
|
投稿日時: 2007-05-21 19:15
[ メッセージ編集済み 編集者: kogat 編集日時 2007-06-01 01:48 ] | ||||
|
投稿日時: 2007-05-21 20:09
マシンの負荷が高いときに比較的よく発生しませんか?
window.open()が完了しないうちにsubmit()がされると
という現象になるようです。 javascriptで同期処理ができないはずなので確実な対処方法はないのですが、 若干待たせることで確率を抑えることはできるようです。 私はjavascriptには明るくないのですが、何か良い対処方法をご存知の方いらっしゃいませんか? | ||||
|
投稿日時: 2007-05-21 20:25
そのウィンドウにonloadイベントを割り当てるとか。
開いた側のHTMLでonloadを指定しておいて、そこから親にsubmitを促すとか。 | ||||
|
投稿日時: 2007-05-21 20:26
[ メッセージ編集済み 編集者: kogat 編集日時 2007-06-01 01:49 ] | ||||
|
投稿日時: 2007-05-21 20:55
[ メッセージ編集済み 編集者: kogat 編集日時 2007-06-01 01:49 ] | ||||
|
投稿日時: 2007-05-21 23:04
時間をウィンドウ名にしてる理由はなんですか? ボタン複数回押下時に画面ひらかさるので。 ターゲットの見直しをしたほうがいいかも。 2枚以上開くなら必要かもだけど。 1枚限定なら固定名称のほうがいいですよ。 | ||||
|
投稿日時: 2007-05-22 00:03
IEではパフォーマンスのためか、window.openの完了を待たずに処理が実行され、上記コードもタイミング次第では、w.document.writeで失敗する可能性があります。一旦、setTimeoutを利用して別の関数でsubmitを呼ぶことで回避できるそうです。 このとき、setTimeoutの第二引数は0でも問題ないそうです。 ※情報源はオライリーの[JavaScript & DHTMLクックブック]です。 | ||||
|
投稿日時: 2007-05-22 00:39
[ メッセージ編集済み 編集者: kogat 編集日時 2007-06-01 01:50 ] |