Используйте JQuery или onbeforeunload для IE и FF
Я работаю в приложении Flex4, используя javascript, в документе "index.template.html". У меня возникла проблема с возможностью использовать onbeforeunload с Firefox. Приложение отлично работает в IE, но точно такое же не подходит для FF. (Увидеть ниже)
<script type="text/javascript">
window.onbeforeunload=before;
window.onunload=after;
function before(evt)
{
var flex=document.$(application)||window.$(application);
flex.unloadMethod(); //custom method to log out the user
}
function after(evt)
{
}
</script>
Из того, что я обнаружил, FF, похоже, не регистрирует события перед загрузкой, поэтому я обнаружил, что вместо этого популярной вещью является связывание с JQuery. Итак, я удалил приведенный выше код и заменил его на приведенный ниже код, но он не отображает всплывающее окно, когда пользователь пытается покинуть страницу в IE и FF. Любой, кто, кажется, использует JQuery для этого, похоже, делает то же самое, поэтому я не знаю, что происходит.
<script type="text/javascript">
$(window).bind("beforeunload",function(event){
return "This should create a pop-up";
});
</script>
В конце концов было бы неплохо вызвать "flex.unloadMethod", как в первом фрагменте кода, но пока я просто пытаюсь заставить всплывающее окно работать, чтобы я знал, что я на правильном пути. Любое понимание будет с благодарностью.
2 ответа
Пытаться:
<script>
$(window).on('beforeunload', function(){
return "This should create a pop-up";
});
</script>
Пример: http://jsfiddle.net/AeztA/3/
Хочу добавить, что я понял, что вы не можете использовать пустую строку в Firefox. Он должен быть как минимум 1 пустым, например, в качестве возврата.
var text = 'Exit Message';
$(window).on('beforeunload', function(){
return " " + text;
});