Nano Hash - криптовалюты, майнинг, программирование

Наложение на window.history.go(-1)

Я хочу выполнить это:

Когда пользователь попадает на нашу страницу через Google Ad-words и собирается покинуть ее, нажав кнопку «Назад» в своем браузере, я хочу показать ему отрендеренный оверлей с некоторыми элементами («Не можете найти то, что ищете? Позвоните мы вам поможем!»... бла-бла). Конечно, пользователь может закрыть его и вернуться в Google.

Есть ли способ получить обработчик событий, который вызывается, когда пользователь нажимает кнопку «Назад» в своем браузере, чтобы я мог открыть свое собственное всплывающее окно? :-)

Также: это не должно влиять на нажатие ссылок или перезагрузку страницы.

привет из Германии


  • Если найдешь способ - дай знать. ^^ Но я думаю, что без стандартного окна алерта не обойтись - можно только что-то добавить, но не заменить алерт... 23.10.2013

Ответы:


1

Вам нужно создать div, который будет вашим оверлеем, и диалоговое окно, содержащее информацию, которую вы хотите отобразить пользователю. Когда ваше событие запускается, используйте jquery.show() для отображения наложения и диалогового окна.

Вы можете попробовать что-то вроде этого:

<html>
   <head>
      <style type="text/css">
           #fullscreen { display:none; position: fixed; z-index:500;  min-height: 100%;  min-width: 1024px;  width: 100%; height: auto; background-color: #565656; top:0; left:0px; margin:0; padding:0; opacity: .5;-ms-filter: "progid:DXImageTransform.Microsoft.Alpha(opacity=50)";  filter: alpha(opacity=50);}      
           #myDialog {display:none;}
      </style>
   </head>
   <body>
      <div id="fullscreen"></div>
      <div id="myDialog title="My Dialog Title" ></div>
   </body>

   <script type="text/javascript>
$(document).ready(function () {
    //When the user attempts to navigate away from the current page...
    $(window).unload(function () {
        $('fullscreen').show();

            $(function () {
                $("#myDialog ").dialog({
                    resizable: false,
                    closeOnEscape: false,
                    width: 660,
                    modal: true,
                    open: function (event, ui) {
                        //hide close button.
                        $(this).parent().children().children('.ui-dialog-titlebar-close').hide();
                    },
                    buttons: {
                        "OK": function () {
                            $(this).dialog("close");
                            $("fullscreen").hide();
                            window.location = "http://mypage.com";
                        },
                        "No, thanks": function () {
                            $(this).dialog("close");
                            $("fullscreen").hide();
                        }
                    }
                });
            });
       });
    });
});
</script>
</html>

Затем выполните необходимые действия. Если вы не знакомы с этими аспектами jQuery, я рекомендую ознакомиться с документацией по диалогам: http://jqueryui.com/dialog/

23.10.2013
  • Эй, спасибо за ваш быстрый ответ, я думаю, что недостаточно ясно выразился: речь идет не о наложении, а о том, как предотвратить возвращение пользователя в Google. 25.10.2013
  • Новые материалы

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

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

    Частный метод Python: улучшение инкапсуляции и безопасности
    Введение Python — универсальный и мощный язык программирования, известный своей простотой и удобством использования. Одной из ключевых особенностей, отличающих Python от других языков, является..

    Как я автоматизирую тестирование с помощью Jest
    Шутка для победы, когда дело касается автоматизации тестирования Одной очень важной частью разработки программного обеспечения является автоматизация тестирования, поскольку она создает..

    Работа с векторными символическими архитектурами, часть 4 (искусственный интеллект)
    Hyperseed: неконтролируемое обучение с векторными символическими архитектурами (arXiv) Автор: Евгений Осипов , Сачин Кахавала , Диланта Хапутантри , Тимал Кемпития , Дасвин Де Сильва ,..

    Понимание расстояния Вассерштейна: мощная метрика в машинном обучении
    В обширной области машинного обучения часто возникает необходимость сравнивать и измерять различия между распределениями вероятностей. Традиционные метрики расстояния, такие как евклидово..

    Обеспечение масштабируемости LLM: облачный анализ с помощью AWS Fargate и Copilot
    В динамичной области искусственного интеллекта все большее распространение получают модели больших языков (LLM). Они жизненно важны для различных приложений, таких как интеллектуальные..