ページの高さ/幅の合計を取得する
使用するだけdocument.documentElement.scrollWidth
でscrollHeight
ビューポートのサイズ
スクロールバーの有無にかかわらず、2 つのサイズがあります。スクロールバーでビューポート サイズを取得するには、次を使用します。
var viewportWidthWithScrollbars = window.innerWidth || document.documentElement.offsetWidth;
(高さをinnerHeight
とに変更)offsetHeight
innerWidth
W3C ブラウザーおよびoffsetWidth
標準モードの IE 用です。
スクロールバーなしでビューポートのサイズを取得するには (おそらくこれが必要です)、次を使用します。
var viewportWidthWithoutScrollbars = document.documentElement.clientWidth;
縦横スクロール量
これはトリッキーな部分です。documentElement.scrollLeft
Chrome の使用と Chrome (および互換モードの IE) を除くすべてのブラウザーは を使用するdocument.body.scrollLeft
ため、両方の値を確認する必要があります。
var pageScrollLeft = document.documentElement.scrollLeft || document.body.scrollLeft;
これらのメソッドは、W3C 互換のブラウザー (Opera、FF、Chrome) と Doctype を使用した IE 8 (つまり、標準準拠モードのみ) でテストしました。quirks モードでコードをテストしませんでしたが、とにかく quirks モードを使用するのは非常に悪い考えです。それでも使いたい場合は、のbody
代わりにプロパティを確認する必要があると思いますdocumentElement
。
このページを参考にしました: http://www.quirksmode.org/dom/w3c_cssom.html
このページを使用して、他のブラウザでテストできます: http://jsbin.com/obewib/1