Первый ответ: я использую «положение окна опроса» в производственном коде. Это очень легкая вещь. Запрос пары свойств объекта дважды в секунду ничего не замедлит. Кросс-браузерная позиция окна задается как:
function get_window_x_pos()
{
var winx;
if(window.screenX)
winx=window.screenX;
else if(window.screenLeft)
winx=window.screenLeft;
return winx;
}
и аналогично для вертикального положения. В моем коде я использую это для запуска события AJAX на сервере, чтобы сохранить положение и размер окна, чтобы в следующий раз оно открывалось там, где оно было в последний раз (я, вероятно, скоро перейду к локальному хранилищу HTML5). морщина, которую вы, возможно, захотите скрыть, не создает ложных обновлений во время перетаскивания окна. Способ справиться с этим - зарегистрироваться, когда окно было перемещено в первый раз, и запускать обновление только тогда, когда два последующих опроса положения окна возвращают одинаковое значение. Еще одним осложнением являются окна, которые позволяют изменять размеры со всех сторон. Если перетащить левую или верхнюю сторону, DOM выдаст вам событие изменения размера, но также изменится и номинальная позиция окна.