点击后立即关闭Facebook Like Button弹出对话框

时间:2012-09-14 13:40:35

标签: html facebook facebook-javascript-sdk fbml

我只是试图在测试页面上测试一些类似的功能,并且会出现意外行为。当我单击“喜欢”按钮时,对话框(可以添加文本并发布到墙上的对话框)弹出大约半秒钟,然后单独关闭。 like按钮本身变成了一个“确认”的链接。我真的在这里裸露骨头,不知道会出现什么问题。我正在使用FBML。以下是我的测试页面的完整代码:

<!DOCTYPE html>
<html>
  <head>
    <title>Facebook Like Test</title>
  </head>

  <body>
    <div id="fb-root"></div>

    <script>
         window.fbAsyncInit = function () {
            FB.init({
                appId: 'myid',
                status: true, // check login status
                cookie: true, // enable cookies to allow the server to access the session
                xfbml: true  // parse XFBML
            });
        };

        // Load the SDK Asynchronously
        (function (d) {
            var js, id = 'facebook-jssdk'; if (d.getElementById(id)) { return; }
            js = d.createElement('script'); js.id = id; js.async = true;
            js.src = "//connect.facebook.net/en_US/all.js";
            d.getElementsByTagName('head')[0].appendChild(js);
        } (document));

    </script>

    <h1>Facebook Like Testing</h1>
    <div>
        <fb:like href = "http://www.example.com?id=1"></fb:like>
    </div>
    <div>
        <fb:like href = "http://www.example.com?id=2"></fb:like>
    </div>
    <div>
        <fb:like href = "http://www.example.com?id=3"></fb:like>
    </div>
    <div>
        <fb:like href = "http://www.example.com?id=4"></fb:like>
    </div>  
  </body>
</html>

我只是将任意一个作为查询字符串附加,以使hrefs唯一。这里可能出现什么问题?

5 个答案:

答案 0 :(得分:1)

控制台输出怎么样?有什么错误吗?

我想,您应该检查应用和本地环境的域设置。你的例子非常适合我。

我想到的最后一件事是,如果您使用的是Chrome,它有时会阻止跨域请求,所以我也会考虑这一点。

答案 1 :(得分:1)

好吧我会回答我自己的问题,因为我发现了这个问题,并希望得到这个错误的其他人的答案。

事实证明问题不是我的代码,而是我指定的href。我找到了答案 here。它与我实施此网站的网站有关,因为它不够熟悉或被标记为“可疑”。

答案 2 :(得分:0)

我遇到了同样的问题,事实证明,问题是我在Chrome上禁用了cookie。一旦我启用它们,它就会重新开始工作。

答案 3 :(得分:0)

如果您提到的测试页面位于登台服务器上或者正在使用Like实际上用于的网站以外的URL,则会因为用户执行的域匹配检查而关闭Like对话框试图喜欢这个页面。

我在过去发现,在实时服务器上的隐藏页面上执行测试会为您提供您正在寻找的结果。

如果您在首次测试Like按钮后对页面进行了更改,请务必使用页面上的Facebook Developers Debug Tool重新构建Facebook已存储的缓存页面。 https://developers.facebook.com/tools/debug/

答案 4 :(得分:0)

仔细检查您的共享网址的开放图表声明: 在og:image声明中遗漏域名的一个简单错误将导致共享对话框弹出窗口关闭,而不会出现任何控制台或错误消息。 (只需执行一个控件 - 你可以查看HTML页面的来源,查看og:image,og:url等的标题区域。)