特定の状況のときにブラウザの高さを適切に取得できない瞬間がある。
ちゃんとした原因は分からないが、下記の状態の時
.foo {
position: fixed;
top: 0;
transition: all 0.2s ease;
}
.foo要素をモーダルでアニメーションさせて表示させる際に、transitionがallだとresizeやorientationchangeイベントでブラウザの高さを取得したらぜんぜん違う高さが返ってきた。
transitionをallではなく変形させたいプロパティのみにしたら問題なく取得できたので、fixedとtransitionがallの時の組み合わせで起きていた模様。
mobile safari以外で試してないので他ブラウザでも同様に起きるのかは分からない。
※訂正:chromeではなくmobile safariでした