jQuery Exit Popup Redirect? - PullRequest
       15

jQuery Exit Popup Redirect?

1 голос
/ 25 февраля 2012

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

Я пытаюсь использоватьalert или confirm (или все, что работает), поэтому выведите диалоговое окно, когда пользователь пытается отойти от формы покупки.Я просто хочу спросить их: «Эй, вместо того, чтобы уйти, почему бы не получить бесплатную консультацию?»и перенаправить пользователя в форму «Бесплатная консультация».

Это то, что у меня есть, и я просто не получаю правильных результатов.

$(window).bind('beforeunload', function(){
        var pop = confirm('Are you sure you want to leave? Why not get a FREE consultation?');
        if (pop) {

            window.location.href('http://www.mydomain/free-consultation/');
        } else {
            // bye bye
        }
    });

    $("form").submit(function() {
        $(window).unbind("beforeunload");
    });

Ответы [ 4 ]

1 голос
/ 03 марта 2012

Вместо того, чтобы использовать beforeunload и alert(), я решил проверить, покинула ли мышь пользователя документ.Смотрите код ниже:

$(document).bind('mouseleave', function(event) {
    // show an unobtrusive modal
});
1 голос
/ 25 февраля 2012

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

function setDirtyFlag() {
    needToConfirm = true; //Call this function if some changes is made to the web page and requires an alert
    // Of-course you could call this is Keypress event of a text box or so...
}

function releaseDirtyFlag() {
    needToConfirm = false; //Call this function if dosent requires an alert.
    //this could be called when save button is clicked 
}


window.onbeforeunload = confirmExit;
function confirmExit() {
    if (needToConfirm)
        return "You have attempted to leave this page. If you have made any changes to the fields without clicking the Save button, your changes will be lost. Are you sure you want to exit this page?";
}

Скрипт взят из http://forums.devarticles.com/showpost.php?p=156884&postcount=18

0 голосов
/ 25 февраля 2012

Не уверен, поможет ли это.Вы должны остановить распространение перед отображением подтверждения / предупреждения.

Пожалуйста, обратитесь http://jonathonhill.net/2011-03-04/catching-the-javascript-beforeunload-event-the-cross-browser-way/

Посмотрите на последний комментарий.

0 голосов
/ 25 февраля 2012

Попробуйте это:

window.onunload = redirurl;
            function redirurl() {
                alert('Check this Page');
                window.location.href('http://www.google.com');
            }
...