- - 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 ]  | ||||
