- - PR -
連続押しで稀に真っ白な画面に遷移する
投稿者 | 投稿内容 |
---|---|
|
投稿日時: 2005-08-01 11:24
どうも始めまして。いろいろなサイトを回っても解決方法が載っていなかったので、皆様の知識を拝借出来たらと思い書かせていただきました。
JSPの中で、「 <A href="*****">」のリンク部分を3回以上連続で押すと、稀に真っ白な画面に遷移してしまいます。1回又は2回だけ押した場合は正しい画面が表示さます。 ちなみに、"****"の部分はスクリプトを使ってサーバへ情報を送っていますが、2度目からはサーバへ送らないようにするため、「false」を返すようにしています。 以前他のサイトで(この質問に適さない場所)で似たような書き込みがあったのですが、その中で「文字化けしていて真っ白な画面になる」という意見がありました。ためしにエンコードしてみましたがやはりだめでした。 文字化け以外で原因になりそうなことや対処法などがありましたら教えていただけないでしょうか? よろしく御願いいたします。 |
|
投稿日時: 2005-08-01 11:47
2度押しできなくすればいいのではないでしょうか?
確か、JavaScriptか何かで実現できたように思います。 |
|
投稿日時: 2005-08-01 13:58
-------------------------------
function goNext(){ if (flag) { return false; } flag = true; 〜〜〜〜 submit()処理 〜〜〜〜 return true; } ------------------------------- 上記のスクリプトが実行されます。 「onclick()」ではキチンと動くようなんですが、リンクではどうしても・・・ 「 <A 〜」は必ず何処かへリンクしようするようなことを聞いたことがあるのですが、関係あるのでしょうか・・・? [ メッセージ編集済み 編集者: セイ 編集日時 2005-08-01 14:50 ] [ メッセージ編集済み 編集者: セイ 編集日時 2005-08-01 20:21 ] |
|
投稿日時: 2005-08-01 14:05
あります。
提示していただいたコードでは、"false"へ遷移してしまいます。 (IEだと白い画面に"false"と表示されたハズ...) "return false;"ではなく、単純に"return;"とだけ記述してみて下さい。 |
|
投稿日時: 2005-08-01 14:16
単純に"return;"にしてしまうと確かに画面遷移しなくはなりますが、
それ以上何処のにも動けなくなってしまいます。 1度押したときのサーバ処理が終わって、次画面情報が帰ってきたら次画面へ遷移したいんですよねぇ。 |
|
投稿日時: 2005-08-01 14:25
あ、やっぱりそっちで躓いていましたか。
それはブラウザに依存する動作ですので、どうかなと思って回答を控えていたのですが。(IEですよね?) 過去同現象があった場合は、フラグ制御ではなく、一度押したらリンクを不可視にすることで対応しました。(リンクのstyle.visibilityを"hidden"にする) 画面に複数のリンクがある場合は、全部不可視にしないと意味がないのでご注意下さい。 |
|
投稿日時: 2005-08-03 10:58
少し、趣が異なるかもしれませんが、
onclickでうまくいくなら良いのでは?↓ <a onclick="javascript:hoge()" style="text-decoration: underline; color=blue; cursor=hand;"> http://support.microsoft.com/default.aspx?scid=kb;ja;415951 なんてバグもあるようなので。 |
|
投稿日時: 2005-08-03 12:47
WindowsXP SP2でShift-JISな環境なら、
http://support.microsoft.com/default.aspx?scid=kb;ja;886778 http://support.microsoft.com/kb/886677/JA/ の WindowsXP-KB886677-x86-jpn.exe をあててみてはどうですか? ※「時々真っ白な画面になる」というのは、これをあてるとなおったりします。 Cookieの中身やら、画面間での受け渡し変数の中身も文字化けするらしい ので。 |