Javascript 喜欢应用程序中的Facebook粉丝页面,请重新加载该选项卡

Javascript 喜欢应用程序中的Facebook粉丝页面,请重新加载该选项卡,javascript,facebook-like,Javascript,Facebook Like,我想强调的第一个问题是,由于同源策略、Facebook限制以及Facebook JS SDK中缺少变量,因此无法确定加载当前应用程序的页面的URL。解决方案是使用后端生成URL。但是,应该有JS SDK变量保存此信息 http://www.facebook.com/pages/[任意随机字符串]/[从签名请求中获取的页面id]?sk=app_389;[app id] 现在,我们来谈谈错误本身。我正在使用此URL生成like按钮: <div class="fb-like" data-href

我想强调的第一个问题是,由于同源策略、Facebook限制以及Facebook JS SDK中缺少变量,因此无法确定加载当前应用程序的页面的URL。解决方案是使用后端生成URL。但是,应该有JS SDK变量保存此信息

http://www.facebook.com/pages/[任意随机字符串]/[从签名请求中获取的页面id]?sk=app_389;[app id]

现在,我们来谈谈错误本身。我正在使用此URL生成like按钮:

<div class="fb-like" data-href="<?=FACEBOOK_TAB_URL?>" data-send="false" data-layout="button_count" data-width="100" data-show-faces="false" data-font="lucida grande"></div>

显然,由于这是Facebook粉丝页面URL,Facebook调试器对我来说没有多大用处。

这个问题与Facebook缓存URL有关。它出现在你喜欢的内容,然后不喜欢,并试图在短时间内再次喜欢它。简单的解决方案是在数据href=的末尾添加随机哈希,例如使用


请注意,OpenGraph标记将跟随最后一个og:url。因此,即使您在date href参数中添加了随机散列,只要所喜欢的URL有自己的og:URL标记,计数器就会正常工作。

您是否尝试过通过+Facebook+devsite上的+linter+运行+your+page+?@graphicsdivide,让我来帮助您:显然,因为这是Facebook粉丝页面URL,Facebook调试器对我来说没什么用处。。
{

    "__ar":1,
    "payload":{
        "requires_login":false,
        "success":false,
        "already_connected":false,
        "is_admin":false,
        "show_error":true,
        "error_info":{
            "brief":"An error has occurred.",
            "full":"There was an error liking the page. If you are the page owner, please try running your page through the linter on the Facebook devsite (https:\/\/developers.facebook.com\/tools\/lint\/) and fixing any errors.",
            "errorUri":"\/connect\/connect_to_node_error.php?title=An+error+has+occurred.&body=There+was+an+error+liking+the+page.+If+you+are+the+page+owner\u00252C+please+try+running+your+page+through+the+linter+on+the+Facebook+devsite+\u002528https\u00253A\u00252F\u00252Fdevelopers.facebook.com\u00252Ftools\u00252Flint\u00252F\u002529+and+fixing+any+errors.&hash=AQBOXfQcBTjYQ9b7"
        }
    },
    "jscc":""

}