Определение позиции окна браузера в 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();
}
Другие вопросы по тегам