― MozillaZine.jp フォーラムは Mozilla 製品に関する情報交換の場です ―



All times are UTC + 9 hours

返信する
ユーザー名:
件名:
オプション:
BBCode: ON
[img]: ON
[flash]: OFF
[url]: ON
スマイリー: ON
BBCode を無効にする
フォントサイズ:
フォントカラー
スマイリーを無効にする
URL を自動的にパースしない
ユーザエージェントを表示する
認証コード
KCaptcha by Nikita_Sp
   

トピックのレビュー - alert() で操作ができない
作成者 メッセージ
  記事の件名:  Re: alert() で操作ができない  引用付きで返信する
回避方法見つかりました!
alert()のダイアログの[OK]か[x]を連打し同時にALT+Homeを連打するというものです。
後はダイアログを新しい順に閉じるだけです。
他には
Alt+← 戻る
Ctrl+W タブを閉じる
でも回避できます。
もう一つウインドウが開いてあればそれで終了できました。
投稿記事 Posted: 2007年8月19日(日) 21:23
  記事の件名:  Re: alert() で操作ができない  引用付きで返信する
一応、Bugzilla にはクリティカルバグとして登録されてます。

Bug 302787 – alert() in onFocus causes infinite loop of alerts (onfocus triggered after each alert)

Bug 112296 – window.onfocus JS event goes in a loop
投稿記事 Posted: 2007年8月19日(日) 18:22
  記事の件名:  Re: alert() で操作ができない  引用付きで返信する
コード:
<html>
<body onfocus="JavaScript:alert('cant quit')">
</body>
</html>

仕様、かなぁと思います。

1. ファイルを読み込む
2. body にフォーカスがあたる。
3. body の onfocus イベントハンドラが発動、 alert を表示(focus は alert に)。
4. alert を閉じる。
5. フォーカスが body に戻る。
6. 3. に戻る
……
こうなるとプロセスを殺さない限り連鎖から抜けられなくなります。

IE7 ではデフォルトでスクリプトの実行が抑制されているため一発目を止められるのと、alert を閉じた後 body にフォーカスが戻らないのかこのような連鎖を防止しているのかはわかりませんが二発目以降は不発でした。

#ウィキペディアにもサンプルがありました 8)
投稿記事 Posted: 2007年8月18日(土) 12:04
  記事の件名:  Re: alert() で操作ができない  引用付きで返信する
元のページはどっかので私のではありません。それをすこし変えたものです。
<script></script>はありません。このまま保存してfirefoxで開くと再現できます。
alertのダイアログの[x]をクリックすると一瞬フォーカスが元のウインドウに
切り替わるのでその間Ctrl+Uを連打して、ページのソースを得ました。
firefoxを終了することもメニューバーもツールバーも操作出来ないです。

# ユーザ名(ハンドル)、件名とも空白でしたので追記補足しました。
  投稿時は必ずお名前と件名を入れてください。 (by 管理人 Premier)
投稿記事 Posted: 2007年8月18日(土) 11:02
  記事の件名:  Re: alert() で操作ができない  引用付きで返信する
山茶花 さんが書きました:
下のようなページで、
コード:
<html>
<body onfocus="JavaScript:alert('cant quit')">
</body>
</html>

ダイアログがでて[OK]やダイアログのウィンドウのクローズ[x]を
おすとダイアログが増えていき、他の操作もできないんですけど
回避方法はないですか?

#JavaScript の知識があまりないのでオフトピということで :)
<script></script>の間がどうなっているのか分かりませんが、onfocus="JavaScript:alert('cant quit')" の記述に間違いがあるのでは?

これは山茶花さんが制作したhtml、または公開されているhtmlでしょうか?
投稿記事 Posted: 2007年8月18日(土) 04:45
  記事の件名:  alert() で操作ができない  引用付きで返信する
下のようなページで、
コード:
<html>
<body onfocus="JavaScript:alert('cant quit')">
</body>
</html>

ダイアログがでて[OK]やダイアログのウィンドウのクローズ[x]を
おすとダイアログが増えていき、他の操作もできないんですけど
回避方法はないですか?
環境は、Firefox 2.0.0.5 Linux版、FreeBSD 6.2-STABLE、KDE 3.5(ウインドウ修飾 Plastik)です。
投稿記事 Posted: 2007年8月17日(金) 17:41

All times are UTC + 9 hours


ページ移動:  
Powered by MozillaZine.jp® Forum Software © phpBB Group , Almsamim WYSIWYG
Japanese translation principally by ocean