Angular - 尽管有prerender.io和正确的og:标签,但Facebook就像空白一样

时间:2015-07-14 07:28:51

标签: javascript angularjs facebook facebook-graph-api

我有像facebook这样的按钮问题。 我正在使用prerender.io让机器人轻松抓取一些内容,并且可以正常使用

当我使用https://developers.facebook.com/tools/debug/og/object/调试网址时,可以正常使用

BUT: 当我添加这个指令时,我有50%表示我会得到空白页面(在fb上喜欢按钮)。

.directive('fbLike', ['$rootScope', '$compile', '$location',
function ($rootScope, $compile, $location){
  return {
    transclude: true,
    template: '<div ng-transclude></div>',
    link: function (scope, element){
      var tmpl = '<div class="fb-like" data-href="' + $location.absUrl() + '" data-layout="box_count" data-action="like" data-show-faces="false" data-share="false"></div>';

      function compile (){
        element.html($compile(tmpl)(scope));
        if (typeof FB !== 'undefined'){
          FB.XFBML.parse();
        }
      }

      if ($rootScope.loaded === true){
        compile();
      }

      $rootScope.$watch('loaded', function(newValue){
        if (newValue){
          compile();
        }
      });
    }
  };
}])

屏幕如下: This is what I get.

1 个答案:

答案 0 :(得分:0)

Facebook的抓取工具不想等待很长时间才能获得响应,因此您需要确保您的网页尽可能快地加载,以防有人共享尚未在Prerender.io上缓存的网址。

随时向我发送您正在分享的网址,我们很乐意与您合作,以确保我们能够尽快呈现您的网址。

乐意帮忙!

todd@prerender.io