アラートが Web アプリを壊すという同様の問題がありました。特定のケースは、選択リストの onchange からトリガーされたアラートでした。次のような非常に単純なテスト ページを作成しました。
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
<title></title>
<meta name="description" content="">
<meta name="viewport" content="width=device-width">
</head>
<body>
<select onchange="alert('broken!');">
<option value="one">One</option>
<option value="two">Two</option>
</select>
</body>
</html>
iPad で Safari からそのページを実行し、選択リストを変更すると、アラートがトリガーされ、Safari がフリーズします。その後、実際に Safari を閉じる必要があります。これは一般的に Safari に影響します。Web アプリをホーム画面にピン留めする必要はありません。このテスト ページhttp://jsbin.com/AGoTejA/1で、iOS 7 を実行している iPad でこれをテストできるはずです。
これを iPad 2 (MC774B/A) と iPad 3 (MD367B/A) でテストしたところ、両方で Safari がクラッシュしました。
これを回避するハックな方法は、setTimeout() を使用してアラートの実行を遅らせることです。この問題は、Safari が選択リスト項目とアラートを同時に表示するオーバーレイを表示しようとした場合にのみ発生するようです。confirm() も同様に壊れています。