动态社交媒体按钮 - 减少 http 请求和验证错误

Posted

技术标签:

【中文标题】动态社交媒体按钮 - 减少 http 请求和验证错误【英文标题】:Dynamic social media buttons - reducing http requests and validation errors 【发布时间】:2012-03-04 23:24:01 【问题描述】:

我在几个我设法添加动态社交媒体按钮的网站上使用以下代码。

在它们之间,他们向每个页面添加了三个 javascript http 请求和无效代码。虽然我很欣赏这些都是从 CDN 加载的,但它们增加了其中一个网站页面上已经很重的负载,并且对我来说无效。

有什么方法可以减少请求的数量,或者强制该段代码最后加载和/或清理有效性问题而不破坏脚本。

<div id="fb-root"></div>
<script type="text/javascript">(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_GB/all.js#xfbml=1";
  fjs.parentNode.insertBefore(js, fjs);
(document, 'script', 'facebook-jssdk'));</script>
<div>
<ul> 
    <li> 
        <div class="fb-like" data-href="http://www.facebook.com/username" data-send="true" data-layout="button_count" data- data-show-faces="false"></div>
    </li>
    <li>
        <a style="color: #777;" href="http://twitter.com/share" class="twitter-share-button" data-count="horizontal" data-via="twittername">Tweet</a><script type="text/javascript" src="http://platform.twitter.com/widgets.js"></script>
    </li>
    <li>
        <a href="https://twitter.com/justicecampaign" class="twitter-follow-button" data-show-count="true">Follow @twittername</a>
    </li>
    <li>
        <script type="text/javascript" src="https://apis.google.com/js/plusone.js"></script>
        <g:plusone size="medium"></g:plusone>
    </li>
</ul>   
</div>

【问题讨论】:

【参考方案1】:

您可以做的最好的事情是将这些脚本移动到&lt;body&gt; 的末尾,或者将defer 属性添加到Twitter 和Google+ 的script 标签。浏览器在下载和执行 JavaScript 时会停止解析和呈现页面,因此不建议在 html 中间使用第三方脚本,因为您的页面将受这些第三方网络的支配。如果其中任何一个遇到延迟,您的页面就会感觉到。将这些脚本移至底部可确保最重要的内容首先被解析和呈现。

至于减少请求,您可以尝试将这些第三方脚本下载并合并为一个脚本,从而消除两个请求。不利的一面是,除非您主动监控并重新组合它们,否则您将无法获得最新版本的脚本。

我不能真正谈论无效性,因为我没有对这些特定脚本进行太多研究。

【讨论】:

有没有办法强制该部分代码在页面的其余部分之后加载?

以上是关于动态社交媒体按钮 - 减少 http 请求和验证错误的主要内容,如果未能解决你的问题,请参考以下文章

具有社交媒体身份验证的用户的 Firebase 重置密码问题

Ruby on Rails 的社交媒体共享按钮 Gem

Firebase 动态链接不会在社交媒体中预览图片

将社交媒体网络共享按钮集成到 Highcharts。 [关闭]

Ruby on Rails 中的社交媒体共享按钮

html 字体真棒社交媒体按钮示例与链接