【问题标题】:Exit Popup Redirect With a Exception退出弹出重定向并出现异常
【发布时间】:2012-06-26 04:48:49
【问题描述】:

我也不喜欢退出弹出窗口,但我想在即将到来的节日日进行整合,所以要感谢我的访客并给他们一些特别的东西。 我是下面的这段代码,用于在退出时重定向。

var exitPop = false;
var nonFire = false;
window.onbeforeunload = function () {
    if(!exitPop){
        exitPop=true;
        return 'Happy Festival Day!';
    }
};

setInterval(function(){
    if(exitPop && !nonFire){
        nonFire = true;
        window.location.href = 'http://google.com';
    }
}, 200);

我在下面使用这个代码,它基本上是在做评论时重定向

<script type="text/javascript"> 

window.fbAsyncInit = function() {
    FB.Event.subscribe('comment.create',
    function (response) {
        window.location = "http://domain.com";
    });
    FB.Event.subscribe('comments.remove',
    function (response) {
        window.location = "http://domain.com";
    });   
};

(function() {
    var e = document.createElement('script');
    e.async = true;
    e.src = document.location.protocol + '//connect.facebook.net/en_US/all.js';
    document.getElementById('fb-root').appendChild(e);
}());
//]]>
</script>

我不想将退出重定向显示给发表评论的访问者,因为这让我的访问者很恼火,我希望该代码仅在单击退出时执行。那么我应该包含哪些代码会创建评论重定向异常并且不应该向评论者显示弹出窗口

【问题讨论】:

    标签: javascript jquery html redirect


    【解决方案1】:

    只有在某些链接打开时才会阻止弹出窗口。因此,如果您尝试在退出时加载某些内容,它将无法正常工作。

    这是一个工作示例:http://swip.codylindley.com/popupWindowDemo.html 使用某人编写的 jquery 中的一个小库。您可以查看源代码。

    基本上,如果弹出窗口在单击时打开,您应该没问题,但在任何其他情况下,它都会被阻止。

    我不确定某些公司是如何侥幸逃脱的,但任何形式的黑客行为最终都会被堵上。我尝试这样做的一种方法是在链接上触发 onclick 操作,即使这样也不起作用。所以它是相当简单的。

    【讨论】:

      【解决方案2】:

      您可以通过在 javascript 中设置 cookie 来做到这一点。您可以使用直接的 javascript 来执行此操作,但使用 jquery.cookies 插件的代码更短,因此无法演示该方法。

      在你的comment.create函数中,设置一个cookie来显示这个用户发表了评论:

       FB.Event.subscribe('comment.create',
          function (response) {
              $.cookie('has_commented', 'true');
              window.location = "http://domain.com";
       });
      

      然后检查退出函数上的 cookie 值:

      if($.cookie('has_commented') == true) {
          return 'Happy Festival Day!';
      }
      

      Jquery Cookies 插件在这里:https://github.com/carhartl/jquery-cookie/blob/master/README.md

      或者如果你想用直接的 javascript 做同样的事情 - 相同的概念 - 但有点混乱......这里的信息:http://www.w3schools.com/js/js_cookies.asp

      【讨论】:

      • 我试过但无法让它工作。你能把它和我的代码整合起来吗
      猜你喜欢
      • 2020-10-26
      • 1970-01-01
      • 2018-09-07
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-04-19
      • 1970-01-01
      相关资源
      最近更新 更多