在window.history.go(-1)上叠加

时间:2013-10-23 15:01:51

标签: javascript jquery overlay back browser-history

我想完成这个:

当用户通过Google Ad-words访问我们的页面并将通过浏览器中的后退按钮离开时,我想向他展示一个带有一些内容的渲染叠加层(“找不到看起来像什么为了?打电话给我们,我们会帮助你!“......等等等等。当然用户可以关闭它并返回谷歌。

当用户按下浏览器中的“后退”按钮时,是否有任何乳清来获取一个事件处理程序,因此我可以弹出我自己的Popup? : - )

另外:这不应影响按下链接或重新加载页面。

来自德国的问候

1 个答案:

答案 0 :(得分:0)

您需要创建一个将作为叠加层的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/