Как показать всплывающий опрос с Jquery при выходе из страницы - PullRequest
1 голос
/ 14 ноября 2011

Я хочу показать опрос во всплывающем окне, когда пользователи покидают страницу.

Поэтому я хочу покинуть страницу только тогда, когда он ответит на все вопросы опроса и / или закроет всплывающее окно ... Как я могу это сделать?

Я пытаюсь этот код

$(document).ready(function () {
        function exitpop() {
            my_window = window.open("http://www.google.com", "mywindow1", "status=off,toolbar=off,location=off,menubar=off,directories=off,resizable=off,scrollbars=off,height=800,width=800");
            });
        }
        $(window).unload(function () {
            exitpop();
        });
    });

Но он блокируется большинством браузеров и не приостанавливает действие при нажатии (переход на другую страницу или закрытие окна). Каков наилучший способ сделать это?

Ответы [ 2 ]

3 голосов
/ 14 ноября 2011

Попробуйте использовать событие window.onbeforeunload.

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

Но вы должны отслеживать, когда она обновляется или закрываться ... обаозначает то же самое, что и перед загрузкой. Вы не можете использовать их напрямую, либо unload, либо beforeunload - они не различаются при закрытии окна. Попробуйте, возможно, это будет работать в соответствии с вашими требованиями.

http://docs.jquery.com/Events/unload#fn

jQuery:

$(window).unload( function () { alert("Bye now!"); } );

or javascript:

window.onunload = function(){alert("Bye now!");}

Для получения дополнительной информации следуйте этому: https://developer.mozilla.org/en/DOM/window.onclose

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <script type="text/javascript">
    function confirmBeforeUnload(e) {
        var e = e || window.event;

        // For IE and Firefox
        if (e) {
            e.returnValue = 'Any string';
        }

        // For Safari
        return 'Any string';

    }
    function goodbye(e) {
        if (!e) e = window.event;
        //e.cancelBubble is supported by IE - this will kill the bubbling process.
        e.cancelBubble = true;
        e.returnValue = 'You sure you want to leave?'; //This is displayed on the dialog

        //e.stopPropagation works in Firefox.
        if (e.stopPropagation) {
            e.stopPropagation();
            e.preventDefault();
        }
    }
    window.onbeforeunload = goodbye;
    </script>
    <title>Untitled Document</title>
    </head>

    <body>
    </body>
    </html>

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

http://choosedaily.com/1178/15-jquery-popup-modal-dialog-plugins-tutorials/

http://www.queness.com/post/77/simple-jquery-modal-window-tutorial - выполните пошаговое руководство с кодом для создания модальноговсплывающее окно ..

0 голосов
/ 03 ноября 2014

Нужно ли заставлять пользователей заполнять опрос?Если нет, то вы можете заменить содержимое тела, чтобы пользователь мог видеть его в фоновом режиме.

var done = 0;
window.onbeforeunload = function() {
  if (done != 1) {
    done = 1;
    document.getElementsByTagName('body')[0].innerHTML = "new content goes here";
    return "Howdy there. Why don't you stick around for a moment and take our survey?";
  }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...