resizeBy выбрасывает исключение «Доступ запрещен» в IE - PullRequest
0 голосов
/ 09 сентября 2010

Я пытаюсь изменить размер окна в IE. Для этого я использую

window.resizeBy(width - document.documentElement.clientWidth, height - document.documentElement.clientHeight);

Однако иногда это завершается ошибкой с исключением «Доступ запрещен». То, как я справился с этим, было просто использовать

setTimeout('resizeWindow(' + width + ', ' + height + ')', 200);

если возникает исключение, попробуйте еще раз чуть позже.

Беда в том, что теперь это вызывает состояние гонки, если размер окна необходимо изменить несколько раз в быстрой последовательности.

Кто-нибудь знает, почему может быть выброшено исключение "Доступ запрещен" и как его избежать?

1 Ответ

1 голос
/ 08 февраля 2011

Изменение размера происходит в ответ на нажатие пользователем кнопки. При наведении мыши на кнопку запускается событие, которое, в свою очередь, изменяет размеры окна. Если пользователь удерживал кнопку нажатой во время изменения размера, IE выдает исключение, так как он не позволяет окнам изменять размер, пока кнопка нажата (предположительно, из соображений удобства использования). Быстрое переключение кнопки увеличило вероятность того, что кнопка мыши будет нажата при попытке изменить размер окна.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...