今日情報をチェックしていたら、これまで気付かなかった属性を偶然発見しました: document.compatMode
いくつかの情報を調べた後、次の情報を知りました:
IE には 2 つのボックス モデルがあることは誰もが知っているので、私は勝ちましたDOCTYPE が宣言されている場合、それは Quirks モードです。 !DOCTYPE が宣言されている場合、それは他の標準ブラウザと一致し、
document.compatMode には 2 つの属性値があります:
---- - 標準仕様モードがオフ、つまり現在 Quirks モードであることを意味します。このとき、ブラウザのクライアント領域の幅は document.body.clientWidth
CSS1Compat ---- 標準仕様であることを意味します。モードがオンになっています。つまり、現在は標準モードになっています。この時点で、ブラウザーのクライアント領域の幅は document.documentElement.clientWidth です
以下に、Web ページクライアントの幅と高さを正確に取得するコードを掲載します。エリア、スクロールバーの幅と高さ、スクロールバーの左と上
1 if (document.compatMode == "BackCompat") { 2 cWidth = document.body.clientWidth; 3 cHeight = document.body.clientHeight; 4 sWidth = document.body.scrollWidth; 5 sHeight = document.body.scrollHeight; 6 sLeft = document.body.scrollLeft; 7 sTop = document.body.scrollTop; 8 } else { //document.compatMode == "CSS1Compat" 9 cWidth = document.documentElement.clientWidth;10 cHeight = document.documentElement.clientHeight;11 sWidth = document.documentElement.scrollWidth;12 sHeight = document.documentElement.scrollHeight;13 sLeft = document.documentElement.scrollLeft == 0 ? document.body.scrollLeft : document.documentElement.scrollLeft;14 sTop = document.documentElement.scrollTop == 0 ? document.body.scrollTop : document.documentElement.scrollTop;15 }
以上がjs の属性: document.compatModeの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。