【问题标题】:Is there a way to reload the page after <fb:like> is clicked?点击 <fb:like> 后有没有办法重新加载页面?
【发布时间】:2011-06-26 02:42:56
【问题描述】:

我想知道这一点:我有一个简单的 facebook-connect 应用程序,它只会在您登录并喜欢某个页面后显示某些内容。 它可以工作(huzzah!),但我想让它在你按下like按钮后自动刷新,让它对用户更友好。

这里有一些代码:

<?php
if ($me) {

    $pageid = -----------;
    $uid = $me['id'];

    $likeID = $facebook->api(
        array( 'method' => 'fql.query', 'query' =>
        'SELECT target_id FROM connection WHERE source_id = ' . $uid . ' AND target_id = ' . $pageid )
        );

    if ( empty($likeID) ) 
    {
        // Person is LOGGED IN, but has NOT LIKED
        echo '<script src="MY WEBPAGE"></script><fb:like href="MY WEBPAGE" layout="box_count" show_faces="false" width="450"></fb:like>';
    } 
    else
    {
        // Person is LOGGED IN, and has LIKED, score!
        echo 'Download link';
    }
}
else
{
    // Person is NOT LOGGED IN, so we know NOTHING
    echo '<script src="MY WEBPAGE"></script><fb:like href="MY WEBPAGE" layout="box_count" show_faces="false" width="450"></fb:like>';
} ?>

我可以对这段代码做些什么(可能在 fb:like 标记中?)让它在点赞后重新加载页面?

谢谢。

【问题讨论】:

    标签: php facebook fbml


    【解决方案1】:

    当您使用 XFBML 实现时,我假设 JS 库 (http://connect.facebook.net/en_US/all.js#xfbml=1) 已经加载,所以您需要的只是这个 sn-p:

    <script>
    FB.Event.subscribe('edge.create', function(response) {
        window.location.reload();
    });
    </script>
    

    【讨论】:

    • 是的!起初它不起作用,但经过一番挖掘后发现,Wordpress 添加了随机的

      标签,使我的 javascript 在 facebook 连接后立即中断(这就是为什么我没有早点意识到这一点)。 (有一个不错的 WP 插件可以禁用此功能:“wpautop control”)

    猜你喜欢
    • 2021-12-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-08-25
    • 1970-01-01
    • 1970-01-01
    • 2015-01-03
    • 2017-07-25
    相关资源
    最近更新 更多