2

我正在使用以下代码更快地加载 facebook、g+、twitter 按钮。

<div id="fb-root"></div>
<script>
  (function(doc, script) {
    var js, 
        fjs = doc.getElementsByTagName(script)[0],
        frag = doc.createDocumentFragment(),
        add = function(url, id) {
            if (doc.getElementById(id)) {return;}
            js = doc.createElement(script);
            js.src = url;
            js.async = true;
            id && (js.id = id);
            frag.appendChild( js );
        };
    // Google+ button
    add('http://apis.google.com/js/plusone.js');
    // Facebook SDK
    add('//connect.facebook.net/en_US/all.js#xfbml=1&appId=xxxxxxx', 'facebook-jssdk');
    // Twitter SDK
    add('//platform.twitter.com/widgets.js');
    fjs.parentNode.insertBefore(frag, fjs);
  }(document, 'script'));
</script>

我把上面的代码放在 HTML 的末尾。在我的测试中,上面的代码似乎比单独保存按钮更快地加载按钮。

还有什么可以添加到上面的代码中以使按钮加载速度比上面更快吗?

谢谢

4

1 回答 1

0

在 Google+ URL 中使用 https,在写这篇文章的时候,https://apis.google.com/js/plusone.js而不是http://apis.google.com/js/plusone.js将摆脱一个往返。

其他两项服​​务也可能如此,但我没有测试,因为我使用自定义按钮。

于 2013-11-02T11:24:26.963 回答