Bezdepbonusu7Программирование: статьи и ответы

Вопрос

Прекращение обновления, когда вспышка имеет фокус

Автор вопроса: CommunityОтветов: 3

Как предотвратить обновление браузера, когда объект flash находится в фокусе во всплывающем окне?

Да, я тоже ненавижу всплывающие окна. Тем не менее, у нас есть флеш-анкета, которую крадут пользователи, использующие обновление.

У меня также уже есть js, который эффективно блокирует обновление до тех пор, пока флэш-память не получит фокус и пользователь не нажмет кнопку обновления.

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

javascriptrefreshflash

Ответы

Ответ 1 · рейтинг 1 · Gareth

Не произойдет.

Лучше всего подойдет баннер с надписью "НЕ ОБНОВЛЯТЬ ЭТУ СТРАНИЦУ".

Ответ 2 · рейтинг 1 · sthg

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

Хорошим способом было бы использовать локальные общие объекты, чтобы сохранить текущий прогресс во флеш-плагине пользователя. Они могут сохранять переменные локально на компьютере пользователя без использования javascript или файлов cookie.

Здесь документация по общим объектам Flash.

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

Ответ 3 · Diodeus - James MacFarlane

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

См.: обнаружение поддержки перед выгрузкой

и: Javascript для получения оповещения Перенаправление при закрытии окна браузера

Редактировать:

Обновление - это событие уровня приложения, а не события уровня клиента. Не повезло тебе.

Перевод вопроса и ответов сообщества Stack Overflow, лицензия CC BY-SA. Оригинал на Stack Overflow.

Похожие материалы