5

Webブラウザウィンドウの本体の正確な高さを取得したい. グーグルで取得した他のすべてのソリューションをinnerHeight、clientHeightで試しました。しかし、どれも正確な高さを示していません。これらの関数によって提供される高さから値を差し引いて、高さを調整する必要がありましたか?? どうすればこの問題から抜け出すことができますか。何かが足りないと思います。助けてください。

ありがとう

4

3 に答える 3

15

一部のブラウザーは、ウィンドウの高さを異なる方法で誤って報告します。特に、ビューポートの概念が異なるモバイル ブラウザーです。関数を使用していくつかの異なる値をチェックし、最も大きい値を返すことがあります。例えば

function documentHeight() {
    return Math.max(
        window.innerHeight,
        document.body.offsetHeight,
        document.documentElement.clientHeight
    );
}

編集: jQueryがどのようにそれを行うかを見ただけで、実際にMath.maxと一連のプロパティを使用しています-ただし、チェックするリストは上記の例とは少し異なります。通常、jQueryチームがより優れていると信頼しているためです私よりもこのようなもので。jQuery以外のjQueryソリューションは次のとおりです(意味がある場合):

function documentHeight() {
    return Math.max(
        document.documentElement.clientHeight,
        document.body.scrollHeight,
        document.documentElement.scrollHeight,
        document.body.offsetHeight,
        document.documentElement.offsetHeight
    );
}
于 2012-06-18T06:17:58.343 に答える
2

これを実現するためにJqueryを使用できます...

$(document).ready(function(){
    browserWindowheight = $(window).height();
    alert(browserWindowheight);
});
于 2012-06-18T05:50:46.593 に答える
1

使用してみましたか:

window.outerHeight (this is for IE9 and other modern browser's height)

後方互換モードの Internet Explorer の場合は、

document.body.offsetHeight 

また、Internet Explorer (標準モード、document.compatMode=='CSS1Compat'):

document.documentElement.offsetHeight 

詳細については、次を参照してください。

于 2012-06-18T05:53:44.063 に答える