Получить положение окна Internet Explorer - PullRequest
5 голосов
/ 17 марта 2010

Как мне получить в Internet Explorer значения, эквивалентные: window.screenX и window.screenY в Firefox? Я видел какое-то «решение»: window.screenLeft и window.screenTop, но оно не правильно. Эти свойства дают внутренние координаты.

Я перемещаю окно, и мне нужны значения, чтобы использовать с window.moveTo (), чтобы восстановить исходное местоположение.

Ответы [ 3 ]

2 голосов
/ 17 марта 2010
var saveLeft = window.screenLeft;
var saveTop = window.screenTop;
window.moveTo(saveLeft, saveTop);
var savePos = [
    saveLeft + (saveLeft - window.screenLeft), 
    saveTop + (saveTop - window.screenTop)
];

Кажется, работает

0 голосов
/ 17 марта 2010

Прошли годы с тех пор, как я занимался программированием на MSIE, но я грубо помню, что-то вроде этого

  • сохранить screenLeft и Top как положение окна (это неправильно, но читать дальше)
  • при восстановлении позиции, window.moveTo (сохраненная позиция)
  • (текущий screenLeft> сохраненный слева) window.moveBy (-1,0)
  • то же самое для позиции y

Идея в том, что сначала мы помещаем окно в неправильное положение, а затем исправляем его шаг за шагом

0 голосов
/ 17 марта 2010

Эквивалентные свойства не существуют для окон Internet Explorer. Вы видели метод window.resizeBy(w, h)? Используя это, вы можете расти на определенную величину, а затем уменьшаться, используя отрицательные значения (или наоборот):

window.resizeBy(300, 300);  // expand window by 300x300 pixels

window.setTimeout(function ()
{
    window.resizeBy(-300, -300); // back to original size
}, 10000);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...