iOSのブラウザでonchangeイベントからalert/confirmを呼ぶとフリーズする
こんなに簡単に再現出来るバグがまだiOSに残っていたとは…。勿論、サポートにも報告されています。7.0.3で修正された、という記述も時折見かけますが、7.1.2に残っていることを思いっきり確認できます。
<select onchange="alert('Hi')">
<option>Foo</option>
<option>Bar</option>
</select>
上記のセレクトメニューの値を変更すると、ダイアログが表示されるのですが、このダイアログを消せなくなってしまう、という不具合です。confirmのダイアログでも同様のことが起こります。iPadのみのようで、iPhoneのブラウザでは再現しません。Safariの不具合かと思いきやChromeでも発生します。
回避コードも出回っていて、setTimeoutでタイミングをずらしてやれば、フリーズしなくなります。
<select onchange="setTimeout(function(){alert('Hi')})">
<option>Foo</option>
<option>Bar</option>
</select>
参考URL
この記事は役に立ちましたか?
- EnglishWorm.com
- SinglesFan.com
- LmLab.net
- サイトマップ
- 運営者について