Подтвердить что ты не робот

Используйте 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, похоже, не регистрирует события onbeforeunload, поэтому я обнаружил, что популярная вещь, используемая вместо этого, является привязкой к JQuery. Итак, я удалил вышеуказанный код и заменил его на приведенный ниже код, но он не отображает всплывающее окно, когда пользователь пытается покинуть страницу в IE и FF. Любой, кто, кажется, использует JQuery для этого, похоже, делает то же самое, поэтому я не знаю, что происходит.

<script type="text/javascript">
$(window).bind("beforeunload",function(event){
   return "This should create a pop-up";
});
</script>

В конце концов было бы неплохо назвать "flex.unloadMethod", как в первом бите кода, но пока я просто пытаюсь получить всплывающее окно для работы, поэтому я знаю, что я нахожусь на правильном пути. Любое понимание было бы оценено.

4b9b3361

Ответ 1

Try:

<script>
    $(window).on('beforeunload', function(){
        return "This should create a pop-up";
    });
</script>

Пример: http://jsfiddle.net/AeztA/3/

Ответ 2

Хотел бы добавить, что я понял, что вы не можете использовать пустую строку в firefox. Он должен быть как минимум 1 пустым, например, как возврат.

var text = 'Exit Message';

$(window).on('beforeunload', function(){
    return " " + text;
});