1

I wanna get the width of browser window. It should contain the width of scroll bar if exists.

How to fix this issue via JS?

How to fix this issue via jQuery?

Thank you!

2 Answers 2

6

There are many examples of this scattered around the web. It's a common problem. Here's what I found in a quick search

var winW = 630, winH = 460;
if (document.body && document.body.offsetWidth) {
 winW = document.body.offsetWidth;
 winH = document.body.offsetHeight;
}
if (document.compatMode=='CSS1Compat' &&
    document.documentElement &&
    document.documentElement.offsetWidth ) {
 winW = document.documentElement.offsetWidth;
 winH = document.documentElement.offsetHeight;
}
if (window.innerWidth && window.innerHeight) {
 winW = window.innerWidth;
 winH = window.innerHeight;
}

http://www.javascripter.net/faq/browserw.htm

Sign up to request clarification or add additional context in comments.

2 Comments

Thank you for your answer! Is there a jQuery solution? I use $(window).innerWidth(), but it's incorrect.
As far as I'm aware jQuery doesn't support a fix. innerWidth() is not valid for document or window objects. You are told to use .width() for these objects, but it doesn't include the scrollbars. The best you can do is use jQuery to detect the browser but you shouldn't do this to fix objects.
0

this would fix using a jquery $(window).innerWidth();

Comments

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.