web-dev-qa-db-ja.com

ブラウザサイズのライブ検出-jQuery / JavaScript

JQueryプラグイン、またはブラウザーサイズを検出するためにストレートJavaScriptを使用する方法はありますか。

結果が「ライブ」であることが望ましいので、幅または高さが変わると結果も変わります。

20
user1658756

JavaScript

function jsUpdateSize(){
    // Get the dimensions of the viewport
    var width = window.innerWidth ||
                document.documentElement.clientWidth ||
                document.body.clientWidth;
    var height = window.innerHeight ||
                 document.documentElement.clientHeight ||
                 document.body.clientHeight;

    document.getElementById('jsWidth').innerHTML = width;  // Display the width
    document.getElementById('jsHeight').innerHTML = height;// Display the height
};
window.onload = jsUpdateSize;       // When the page first loads
window.onresize = jsUpdateSize;     // When the browser changes size

jQuery

function jqUpdateSize(){
    // Get the dimensions of the viewport
    var width = $(window).width();
    var height = $(window).height();

    $('#jqWidth').html(width);      // Display the width
    $('#jqHeight').html(height);    // Display the height
};
$(document).ready(jqUpdateSize);    // When the page first loads
$(window).resize(jqUpdateSize);     // When the browser changes size

jsfiddle demo

編集:IE8以前をサポートするためにJavaScriptコードを更新しました。

59
Matt Coughlin

使用できます

function onresize (){
   var h = $(window).height(), w= $(window).width();
   $('#resultboxid').html('height= ' + h + ' width: ' w);
}
 $(window).resize(onresize ); 

 onresize ();// first time;

html:

<span id=resultboxid></span>
6
Anoop

これにより、可視領域が返されます。

document.body.offsetWidth
document.body.offsetHeight

これは常にブラウザのサイズに等しいと思いますか?

3

任意の場所で幅と高さの変数を使用してください...ブラウザのサイズが変更されるたびに、変数の値も変更されます。

$(window).resize(function() {
    width = $(this).width());
    height = $(this).height());
});
2
Ritesh Chandora

このようなことを意味しますか_window.innerHeight; window.innerWidth_ $(window).height(); $(window).width()

0
Anton

次のようなサイズ変更時にイベントリスナーを追加してみてください。

window.addEventListener('resize',CheckBrowserSize,false);
function CheckBrowserSize() 
{
    var ResX= document.body.offsetHeight;
    var ResY= document.body.offsetWidth;
}
0
Milind Thakkar