【问题标题】:How to make facebook social plugin fully responsive如何使 facebook 社交插件完全响应
【发布时间】:2016-01-13 08:17:38
【问题描述】:

我在我的网站上为开发人员使用 Facebook 社交插件。它在手机和平​​板电脑上没有响应我遵循了一些 StackOverflow 答案,但仍然无法解决我的问题。我有一个内容行和一个 span6 类,其中放置了我的小部件。

我的 HTML 是这样的。

<div class="row content_row">
<div class="span6">
<div class="Facebook">
<h2><a id="about_us">Facebook</a></h2>
<div class="fb-page" data-href="https://www.facebook.com/pages/IFix-And-Repair/242100755854336" data-tabs="timeline" data-width="500" data-height="400px" data-small-header="false" data-adapt-container-width="true" data-hide-cover="false" data-show-facepile="true"><div class="fb-xfbml-parse-ignore"><blockquote cite="https://www.facebook.com/pages/IFix-And-Repair/242100755854336"><a href="https://www.facebook.com/pages/IFix-And-Repair/242100755854336">iFixandRepair - Wellington</a></blockquote></div></div>
</div>
</div>

我确实从其他答案中应用了一些 CSS,但它也失败了。

CSS:

.fb-page, .fb-page iframe[style], .fb-page span {
 min-width: 100% !important; 
 width: 100% !important;
 }

【问题讨论】:

  • Facebook 的社交插件在很大程度上并没有真正响应。除了他们提供的配置选项之外,您几乎无能为力。对于页面插件,它被正式记录,它只会在页面加载时适应容器大小,但如果窗口被调整大小(developers.facebook.com/docs/plugins/page-plugin#adaptive-width)之后不会动态调整(developers.facebook.com/docs/plugins/page-plugin#adaptive-width)如果你真的需要后者,那么你必须设置您自己的调整大小处理程序脚本,必要时重新加载插件。
  • 我的容器总是 100% 的屏幕宽度,但我不知道为什么 FB 小部件不跟随它的宽度..

标签: html css facebook facebook-social-plugins


【解决方案1】:

限制

使用 CSS3 变换

设置 data-adapt-container-width="false" (或在 500 像素以下出现问题)

这个 fb 插件设置为 500x500

<script src="jquery.rwd-fb-plugin.js"></script>

<!--FB-page-plugin part1-->
<div id="fb-root"></div> <script>(function(d, s, id) { ... } </script>

<!--FB-page-plugin part2-->
<div class="fb-page"> ... </div>

$(function(){
    $('.fb-page').rwd();
});

演示:RWD-fb-plugin

【讨论】:

    【解决方案2】:

    您需要使用新的数据宽度调用 fb-page div 并调用函数“FB.XFBML.parse();”每次,网站何时调整大小。 所以 JavaScript 可以帮助解决这个问题:

    <div class="row content_row">
      <div class="span6">
        <div class="Facebook">
          <h2><a id="about_us">Facebook</a></h2>
          <div class="facebook-wrap">
          <div class="fb-page" data-href="https://www.facebook.com/pages/IFix-And-Repair/242100755854336" data-tabs="timeline" data-width="500" data-height="400px" data-small-header="false" data-adapt-container-width="true" data-hide-cover="false" data-show-facepile="true"><div class="fb-xfbml-parse-ignore"><blockquote cite="https://www.facebook.com/pages/IFix-And-Repair/242100755854336"><a href="https://www.facebook.com/pages/IFix-And-Repair/242100755854336">iFixandRepair - Wellington</a></blockquote></div></div>
          </div>
        </div>
      </div>
    </div>
    <script>
      (function(d, s, id) {
      var js, fjs = d.getElementsByTagName(s)[0];
      if (d.getElementById(id)) return;
      js = d.createElement(s); js.id = id;
      js.src = "//connect.facebook.net/en_US/sdk.js#xfbml=1&version=v2.2";
      fjs.parentNode.insertBefore(js, fjs);
      }(document, 'script', 'facebook-jssdk'));
      $(function(){
        $(window).resize(function(){
          $('.facebook-wrap').html('<div class="fb-page" data-href="https://www.facebook.com/pages/IFix-And-Repair/242100755854336" data-width="'+$('.facebook-wrap).width()+'" data-height="400px"  data-small-header="false" data-adapt-container-width="true" data-hide-cover="false" data-show-facepile="true"><div class="fb-xfbml-parse-ignore"><blockquote cite="https://www.facebook.com/pages/IFix-And-Repair/242100755854336"><a href="https://www.facebook.com/pages/IFix-And-Repair/242100755854336">iFixandRepair - Wellington</a></blockquote></div></div>');
          FB.XFBML.parse();
        });
      });
    </script>
    

    【讨论】:

    • 我试过你的答案,但它不能正常工作,有时会给出正确的结果,但在页面加载时有时会失败
    • 在 $(window).resize(function() 和没有 .resize(function() 的情况下使用我的脚本:
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-03-18
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多