Любое событие JavaScript происходит, когда пользователь нажимает кнопку Стоп загрузить? - PullRequest
11 голосов
/ 11 октября 2011

Я хочу запустить Javascript, когда пользователь нажимает кнопку «Stop Load» (красный X в большинстве браузеров) или нажимает клавишу «Esc» на клавиатуре, что обычно делает то же самое.

Я видел здесь вопросы, касающиеся кнопки Esc, зацепив document.body.onkeyup, но не смог найти ничего, что касалось щелчка мышью на кнопке Stop.

Ответы [ 3 ]

5 голосов
/ 11 октября 2011

Internet Explorer имеет событие document.onstop, которое запускается, но другие браузеры, похоже, не поддерживают это. Обратите внимание, что он срабатывает, когда пользователь нажимает Стоп или нажимает клавишу Esc, ИЛИ, если пользователь переходит на другую страницу во время загрузки страницы, что имеет тот же эффект.

Я не верю, что есть надежный способ вызвать событие при нажатии Стоп в других браузерах. Возможно, можно было бы сделать что-то вроде: оставив соединение с сервером открытым (как в подходе Comet ), потоковую передачу своего рода активности по соединению и обнаружение, если поток заканчивается Я предполагаю, что это было бы, если бы кнопка Стоп была нажата).

4 голосов
/ 11 октября 2011

Если изображения все еще загружаются на страницу, вы можете использовать событие onabort для отслеживания остановки загрузки .

Мониторинг для щелчка мыши должен быть невозможен, так как этого не происходит внутри текущего окна просмотра.

3 голосов
/ 11 октября 2011

Нет никакого кросс-браузерного способа сделать это.

Однако в IE есть специальное событие onstop, которое происходит на body при нажатии кнопки останова. Вы не можете переопределить функциональность кнопки остановки (то есть вы не можете отменить ее), но вы можете обнаружить, что это произошло в IE.

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