私のサイトには、さまざまな画面幅に合わせてカスタマイズされた多くのスタイルシートがあります。ブラウザのサイズが変更されると、window.onresize
イベントは、を見て実際にサイズ変更が行われたことを確認しdocument.documentElement.clientWidth
ます。含まれている場合は、スクロールバーが表示されるまで、連続して大きいスタイルシートがオンになります。次に、スクロールバーが消えるまで逆の順序でオフにします。スクロールバーは、と比較することで検出されoffsetWidth
ますscrollWidth
。
IE8では、2つの新しい問題がサイズ変更の検出を混乱させます。1つは、onresize
スクロールバーが表示または非表示になるたびに発生し、2つは、d.dE.clientWidth
スクロールバーなしの幅を報告します。これは、IE7および他のすべてのブラウザーからの中断です。私のサイトは、ロジックがより大きなスタイルシートをアクティブにしてスクロールバーを作成するループに頻繁に閉じ込められ、スクロールバーの表示または非表示によって変更さonresize
れたためにフィルターで除外できない別のサイズ変更イベントをトリガーします。IE8に私がチェックできるclientWidth
ようなものがあれば、これは簡単な修正になります。outerWidth