在我的网站中,我显示了15个网址。对于每个地址,我放在一个类似,推文和+1按钮。以下是我为每个人提供的代码:
Facebook赞
<div class="fb-like" data-href="http://website.com" data-send="false" data-layout="button_count" data-width="200" data-show-faces="false"></div>
资料Tweet
<a href="https://twitter.com/share" class="twitter-share-button" data-text="Check Out http://website.com" data-via="MySite" data-lang="es">Tweet</a>
1
<div class="g-plusone" data-size="medium" data-href="http://website.com"></div>
我重复该代码15次,每个网站1次,在我的页面底部我有这些代码,我只放了一次
<!-- Twitter -->
<script>!function(d,s,id){var js,fjs=d.getElementsByTagName(s)[0];if(!d.getElementById(id)){js=d.createElement(s);js.id=id;js.src="//platform.twitter.com/widgets.js";fjs.parentNode.insertBefore(js,fjs);}}(document,"script","twitter-wjs");</script>
<!-- +1 -->
<script type="text/javascript">
window.___gcfg = {lang: 'es-419'};
(function() {
var po = document.createElement('script'); po.type = 'text/javascript'; po.async = true;
po.src = 'https://apis.google.com/js/plusone.js';
var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(po, s);
})();
</script>
<!-- Facebook -->
<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/all.js#xfbml=1";
fjs.parentNode.insertBefore(js, fjs);
}(document, 'script', 'facebook-jssdk'));</script>
我要说的是,用按钮加载所有内容大约需要15秒,我确定1或2是来自php函数,但我确信大部分来自这些按钮。我究竟做错了什么?我怎样才能加快速度?谢谢!
答案 0 :(得分:1)
嘛!必须回答我自己的问题。我使用了Socialite,效果非常好。我进行了设置,以便我的按钮加载滚动。所以,如果其他人有这个问题,这是一个不错的选择。
答案 1 :(得分:0)
从数据库中获取网站列表,并即时生成所有元素。
您可以合并PHP和Javascript以允许在javascript中插入网站:
<script>
var foo = "<?php PHP CODE HERE ?>"
</script>
伪码样本:
<script>
var websites = json of websites
Loop "websites" object here
Generate each element for this website
endloop
</script>
答案 2 :(得分:0)
根据我的经验,facebook按钮往往是最糟糕的罪魁祸首,我找到了一个设置,通过异步加载它们来加速它们。在您的FB脚本中插入以下内容:
js.async=true;
因此,对于您的示例,它将是:
<!-- Facebook -->
<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.async=true;
js.src = "//connect.facebook.net/en_US/all.js#xfbml=1";
fjs.parentNode.insertBefore(js, fjs);
}(document, 'script', 'facebook-jssdk'));</script>
按钮本身仍然需要一分钟,但这样他们就不会在页面上占据任何其他内容,或者在加载时使其表现缓慢。
信用证转到:http://www.ockwebs.com/2012/04/load-facebook-like-asynchronously/