Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > JavaScript: Общие вопросы > Как определить размеры страницы


Автор: Itsys 14.2.2008, 10:38
Проблема в следующем: необходимо сделать DIV, так чтобы перекрывал всю загруженную страницу, но не более нее, свойства heght и width на 100% дают только DIV во весь экран, а страница с прокруткой.

Пробовал через document.body.style.posHeight (pixelHeigth) - возвращает 0.

Автор: bars80080 14.2.2008, 10:53
Код

<div id="rt">
... page
</div>
<script>
a = document.getElementById('rt').offsetHeight;
alert(a);
</script>


вроде так....

Автор: Ghirik 14.2.2008, 11:11
Чтобы кроссбраузерно, у меня получается только так:

Код

document.documentElement.scrollHeight


Но при этом нужно обязательно указать доктип, например так:

Код

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> 




Автор: Itsys 14.2.2008, 11:14
А без вставки дополнительного divа не получится?

Автор: bars80080 14.2.2008, 11:30
честно говоря, сколько пишу, у меня обычно в боди лежат не менее трёх дивов друг в друге, а уже внутри начинается сама страница

для боди в ИЕ всегда выдаётся высота полезной площади браузера


Автор: Itsys 14.2.2008, 11:33
а offsetWidth в случае наличия горизонтальной прокрутки сработает?

Автор: bars80080 14.2.2008, 11:46
Itsys, ты так спрашиваешь, словно у тебя под рукой браузера нет

под ИЕ да, под ФФ и оперу нет
в таком случае используй document.documentElement.scrollHeight и document.documentElement.scrollWidth
Код

<script>
a = document.getElementById('rt').offsetHeight;
c = document.getElementById('rt').offsetWidth;
b = document.documentElement.scrollHeight;
d = document.documentElement.scrollWidth;
alert(a + ' ' + c + ' ' + b + ' ' + d);
</script>

Автор: Itsys 14.2.2008, 11:55
Большое спасибо

Цитата(bars80080 @  14.2.2008,  11:46 Найти цитируемый пост)
Itsys, ты так спрашиваешь, словно у тебя под рукой браузера нет


Просто я сейчас немного другим занимаюсь.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)