2012-03-10 156 views
2

我使用來自Facebook的Like Box代碼,我發現它阻礙了我的頁面加載。在Firebug中查看後,它加載了一堆Javascript和CSS文件。我想知道是否有緩存Facebook Like框的方法?我確實搜索過Google,但我看到的只有一個是WordPress。我使用的是PHP。緩存Facebook Like Box?

回答

0

有一種方法可以做到這一點:使用頻道文件並儘可能緩存它。瞭解更多關於它here

+1

你能詳細說明如何實際編碼嗎?我迷失在SDK中。 – roadsunknown 2012-04-03 17:53:08

1

我用@馬丁鏈接才能找到此鏈接https://developers.facebook.com/docs/reference/javascript/

下面的代碼進行了修改,以適應我的情況,但我不知道它是如何更快的是,或者如果緩存正常工作。

<div id="fb-root"></div> 
<script> 
    window.fbAsyncInit = function() { 
    FB.init({ 
     channelUrl : '//WWW.YOUR_DOMAIN.COM/channel.php', // Channel File 
     status  : true, // check login status 
     cookie  : true, // enable cookies to allow the server to access the session 
     xfbml  : true // parse XFBML 
    }); 

    // Additional initialization code here 
    }; 

    // Load the SDK Asynchronously 
    (function(d){ 
    var js, id = 'facebook-jssdk', ref = d.getElementsByTagName('script')[0]; 
    if (d.getElementById(id)) {return;} 
    js = d.createElement('script'); js.id = id; js.async = true; 
    js.src = "//connect.facebook.net/en_US/all.js"; 
    ref.parentNode.insertBefore(js, ref); 
    }(document)); 
</script> 

我channel.php看起來是這樣,也從同一個頁面:

<?php 
$cache_expire = 60*60*24*365; 
header("Pragma: public"); 
header("Cache-Control: max-age=".$cache_expire); 
header('Expires: ' . gmdate('D, d M Y H:i:s', time()+$cache_expire) . ' GMT'); 
?> 
<script src="//connect.facebook.net/en_US/all.js"></script> 

希望幫助添加到解決方案。