FB.Event.subscribe在fb之后做出回应:就像后墙对话关闭一样

时间:2012-11-28 12:16:05

标签: javascript facebook-like facebook-javascript-sdk

我有这个fb:喜欢按钮......

当我喜欢喜欢按钮时,我正在重定向/响应。使用FB.Event.subscribe ...

FB.init();
jQuery(document).ready(function() {
    FB.Event.subscribe("edge.create", function(href) {
        var data = { action: "virallocker", myID: "'.$my_id.'"};
        jQuery.post("viral-lock.class.php", data, function(response) {
            if (virallocker_use) location.reload();                 
        }); 
    });
});

当您点击“赞按钮”时,看看标准会发生什么 - 后墙对话框出现......

http://i.imgur.com/8NJKA.jpg

现在我遇到的问题是location.reload();在javascript中,在“Post to wall”对话框完成或关闭之前触发。

location.reload();在单击“赞”按钮时运行。

我的问题是,是否有人可以帮助我调整脚本,以便在关闭或发布“发布到墙”对话框后运行响应,而不是单击“赞”按钮。

请点击“赞”按钮查看我的问题... http://goo.gl/9efLZ


此处也发布了www.javascriptquestions.com

1 个答案:

答案 0 :(得分:0)

当您点击“赞”时,Facebook不会让您自动提交到墙上。用户必须写一些东西并自己发布。我所做的是让用户等待15秒,同时在点击的“赞”之后,他们有足够的时间发表评论和链接到他们的墙。

所以代替location.reload();放置StartTheCounter();这应该解决问题。

// Start The counter
// At what number shall the countdown counter start?
CounterStart = 15;

// This function CustomAction() can be modified to do 
// whatever you want done every second.

function CustomAction() {
    document.getElementById('counter').innerHTML = 'You\'ll be automatically redirected </br> within ' + CounterStart + ' seconds.';
} // end of function CustomAction()

// end of JavaScript customization


function Decrement() {
    CounterStart--;
    CustomAction();
    if(CounterStart <= 0) { 

    //alert('Timer reached 0'); 
    window.location.href = "http://www.domain.com/new-location.php";

    }
    else { setTimeout('Decrement()',1000); }
}

function StartTheCounter() {
    setTimeout('Decrement()',1000);
}