Drupal Render数组facebook喜欢按钮

时间:2014-05-12 00:06:01

标签: javascript jquery facebook drupal

所以我的表格上有一个像facebook一样的按钮。它在第一次呈现表单时呈现完美呈现。但是,如果我提交表单并且它被重新呈现,则会发生不好的事情。我要么得到一个空白的div或者离开中心而不响应FB.Event.subscribe的div waaay。有没有人对如何使这项工作有任何指示?我希望每次重新渲染表单时都能正确呈现按钮。

这是我的渲染数组:

    'facebook' => array(
      '#id' => 'wefwefwef',
      '#type' => 'container',
      '#prefix' => '<div class="igd_social_box">',
      '#suffix' => '</div>',
      '#attributes' => array(
        'class' => array('fb-like'),
        'data-href' => array($url),
        'data-layout' => array('button'),
        'data-colorscheme' => array('dark'),
        'data-action' => array('like'),
        'data-share' => array(TRUE),
        'data-show-faces' => array(FALSE),
        )`

JS是:`

Drupal.behaviors.social_facebook = { 
  attach: function (context, settings) {
    //Facebook Like
    window.fbAsyncInit = function() {
      FB.init({
        appId: blahblahblah,
        status: true,
        cookie: true,
        xfbml: true,
      });
    };
    FB.Event.subscribe('edge.create', function() {
      alert('Please work!!');
    });
    jQuery('.fb-like').once(function() {
      (function(d){
        var js, id = 'facebook-jssdk', ref = d.getElementsByTagName('script')[0];
        if(d.getElementById(id)) { return; }
        js = d.createElement('script');   
        js.id = id;
        js.async = true;
        js.src = "//connect.facebook.net/en_US/all.js";
        ref.parentNode.insertBefore(js, ref);
      }(document));
    });
  };
});`

0 个答案:

没有答案