Реализовать кнопку «Предупреждение» в Javascript для использования во Flex - PullRequest
2 голосов
/ 10 марта 2011

У меня есть приложение Flex, в котором я хочу предупредить пользователя, если он нажал кнопку «Назад», чтобы он по ошибке не покинул приложение.Я знаю, что это не может быть сделано полностью в Actionscript из-за кросс-браузерной несовместимости.То, что я ищу, это просто реализация Javascript, чтобы поймать кнопку возврата.

У кого-нибудь есть простой небиблиотечный кросс-браузерный скрипт, чтобы поймать кнопку возврата?Кажется, я не могу найти сообщение с примером.

1 Ответ

5 голосов
/ 10 марта 2011

Вы можете использовать событие window.onbeforeunload.

window.onbeforeunload = function () {
   return "Are you sure you want to leave my glorious Flex app?"
}

Пользователь может нажать «ОК», чтобы выйти, отменить, чтобы остаться.

Как вы заявили, выдает предупреждение в любое время, когдастраница меняется.Чтобы убедиться, что это происходит только при нажатии кнопки «Назад», мы должны исключить предупреждающее сообщение всякий раз, когда они покидают страницу из естественных, ожидаемых источников.

var okayToLeave = false;

window.onbeforeunload = function () {
   if (!okayToLeave) {
   return "Are you sure you want to leave my glorious Flex app?"
   }
}

function OkayToLeave() {
    okayToLeave = true;
} 

Вы несете ответственность заустанавливая переменную в true каждый раз, когда они нажимают кнопку или ссылку, которая естественным образом берет их с этой страницы.Я бы использовал функцию для ненавязчивого javascript.

Установите обработчики событий в DOM ready:

referenceToElement.addEventListener('onClick', OkayToLeave(), false);

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

...