我已經開發了使用Facebook API的Facebook應用程序,我在頁面的頂部包含了facebook api,並且它正在加載所有頁面,因爲我在所有頁面中都使用了api,噸知道這是否是我的應用程序需要花時間的問題,Facebook應用程序很慢
任何人都可以告訴我如何解決這個問題。 在此先感謝
我已經開發了使用Facebook API的Facebook應用程序,我在頁面的頂部包含了facebook api,並且它正在加載所有頁面,因爲我在所有頁面中都使用了api,噸知道這是否是我的應用程序需要花時間的問題,Facebook應用程序很慢
任何人都可以告訴我如何解決這個問題。 在此先感謝
由於您的標籤說的是Javascript,我假設您使用Graph API的Javascript SDK。請參閱:http://developers.facebook.com/docs/reference/javascript/,因爲這說明如何不正確指定通道url html文件將使JS SDK運行速度非常緩慢。
下面是它的重要組成部分:
通道文件
頻道文件解決了在某些瀏覽器跨域通信 一些問題。該channel.html文件的內容可以只是 一行:
<script src="//connect.facebook.net/en_US/all.js"></script>
這是很重要的被緩存只要 可能頻道文件。在提供此文件時,您必須發送有效期過長的有效過期標頭 。這將確保瀏覽器緩存頻道文件爲 ,這對於流暢的用戶體驗非常重要。 如果沒有適當的緩存,跨域通信將變得非常緩慢,用戶將遭受嚴重惡化的體驗。一個簡單的 方式在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>
的channelUrl參數是可選的,但建議。提供一個 頻道文件可以幫助解決三個特定的已知問題。首先,包含跨幀通信代碼的 頁面可能會導致Social 插件在沒有channelUrl的情況下顯示爲空白。其次,如果沒有提供channelUrl並且頁面包括自動播放音頻或者視頻,則用戶可能會聽到兩個音頻流,因爲該頁面已經在後臺第二次加載了用於跨域 通信的 。第三,頻道文件將防止在您的服務器端日誌中包含額外的 匹配。如果您未指定channelUrl,則您可以從日誌中刪除包含fb_xd_bust或fb_xd_fragment 參數的頁面查看,以確保正確計數。
channelUrl必須是與您在其中包含SDK的頁面 匹配的完全限定URL。換句話說,如果您的網站使用www來提供服務,並且您在網頁上修改了 document.domain,那麼頻道文件域 必須包含www,您必須在channel.html文件中製作相同的document.domain 更改。該協議還必須匹配 。如果您的頁面通過https提供,則您的channelUrl也必須爲 https。請記得使用腳本src的匹配協議作爲 。上面的示例代碼使用協議相關的URL,它應該可以正確處理大多數https案例。
在我們可以開始解決您的問題之前,您應該首先__describe__的方式,使其易於理解 - 更多地解釋您正在做什麼,顯示一些代碼,... – CBroe
沒有冒犯,但這可能是這是我見過的模糊的問題。你必須給我們更多的東西。你的應用*做什麼*?你在哪裏看到緩慢? –