(注:以下の1〜5の更新)
私はTwitter-BootstrapベースのレスポンシブWebページを持っており、ページの左上隅には完全に死んでいる長方形のゾーンがありますが、Mobile Safariでのみです(Androidではテストしていません)。
死んだ、定義された:
- デッドゾーンの各種ボタンはクリックできません
- デッドゾーンで上下にスワイプしても、ページは上下にスクロールされません。
次のコードを追加しました。
$('*').click(function(){
console.log($(this));
});
...そしてモバイルサファリJSコンソールをアクティブにすると、デッドゾーンがコンソールストリップのピクセルの高さに等しくシフトアップしていることに気づきました。。つまり、デッドゾーンが縮小しました。さらに、コンソールは、デッドゾーンで実行されたクリックを除くすべてのクリックをログに記録しました。
更新#1:
コメントからのアドバイスによると...
1)固定位置の要素を再確認しました:
$('*').click(function() {
console.log('checking for fixed elements...');
$('*').each(function() {
if ($(this).css('position') == 'fixed') {
console.log($(this));
}
})
});
...私のBootstrapモーダルダイアログはすべてモバイルで固定位置にあることがわかりました。すべてのダイアログを削除しましたが、問題は解決しませんでした。
2)次のCSSコードを追加しました。
* { outline: 1px solid red; }
これがiPhoneのスクリーンショットです。(後でフォトショップでデッドゾーンを概算するために追加した青いボックス)...
更新#2:わかりました、これはばかげています。私は自分のコードから何かを取り除き始めました。これが私が最終的に得たものであり、問題は解決しません!...
<html>
<head>
</head>
<body>
</body>
</html>
更新#3:これはおそらくサファリのバグであり、私のWebページとは何の関係もありません。(以下の更新#2を参照してください)。私はサファリを強制的に閉じました、そして再び開いたとき、問題は消えました。
更新#4:問題が再発しました:(結局のところ、それは私のWebページであり、サファリのまぐれではないかもしれません。しかし、それはランダムに発生するようです...ブラウザを強制終了すると、再び戻るまでしばらくの間修正されます。
更新#5:デッドゾーンが表示されたら、別のWebページに移動した後、デッドゾーンはまだそこにあります。