Определение позиции окна браузера в JavaScript?
По разным глупым причинам я хотел бы иметь возможность определять прямоугольник окна браузера на экране. Строка заголовка и все.
Возможно ли это, или JavaScript ограничен портом просмотра своей страницы?
Изменить: возможно, я неясно, но порт просмотра является частью страницы, которая видна в окне. Это может не быть термином, обычно используемым в браузерах, но это часто встречается в графике.
3 ответа
Для браузеров, соответствующих стандартам:
X - window.screenX
Y - window.screenY
Для IE:
X - window.screenLeft
Y - window.screenTop
Имейте в виду, реализации варьируются. Остерегайтесь настроек нескольких мониторов...
Взгляните на следующие свойства:
- window.screen.height: возвращает высоту экрана в пикселях.
- window.screen.top: возвращает расстояние в пикселях от верхней части текущего экрана.
- window.screen.width: возвращает ширину экрана.
- window.screen.left: возвращает расстояние в пикселях от левой стороны основного экрана до левой стороны текущего экрана.
(Это не даст вам размер окна или положение, но может позволить вам правильно интерпретировать их при работе в системе с несколькими мониторами)
Скопируйте и вставьте из Google первый результат:
// Browser Window Size and Position
// copyright Stephen Chapman, 3rd Jan 2005, 8th Dec 2005
// you may copy these functions but please keep the copyright notice as well
function pageWidth()
{
return window.innerWidth != null? window.innerWidth : document.documentElement && document.documentElement.clientWidth ? document.documentElement.clientWidth : document.body != null ? document.body.clientWidth : null;
}
function pageHeight()
{
return window.innerHeight != null? window.innerHeight : document.documentElement && document.documentElement.clientHeight ? document.documentElement.clientHeight : document.body != null? document.body.clientHeight : null;
}
function posLeft()
{
return typeof window.pageXOffset != 'undefined' ? window.pageXOffset :document.documentElement && document.documentElement.scrollLeft ? document.documentElement.scrollLeft : document.body.scrollLeft ? document.body.scrollLeft : 0;
}
function posTop()
{
return typeof window.pageYOffset != 'undefined' ? window.pageYOffset : document.documentElement && document.documentElement.scrollTop ? document.documentElement.scrollTop : document.body.scrollTop ? document.body.scrollTop : 0;
}
function posRight()
{
return posLeft()+pageWidth();
}
function posBottom()
{
return posTop()+pageHeight();
}