0

在我的網站上,我顯示了15個網址。對於我放置在類似的推文和+1按鈕中的每個地址。下面是我對每一個代碼:加快Like/Tweet和+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

使用javascript生成15個元素。 –

+0

不,我的網站是從數據庫中提取的,所以我只是把代碼放在循環中 – raygo

回答

1

嘛!必須回答我自己的問題。我用Socialite,它工作得很好。我設置它,讓我的按鈕加載滾動。所以如果其他人有這個問題,這是一個不錯的選擇。

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> 
+0

我真不明白喲是什麼意思 – raygo

+0

好吧。我會寫代碼給你。 –

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/