2011-03-16 43 views
7

我已經注意到,有時我的Facebook應用程序運行速度慢,並檢查時,那是因爲all.js文件不是從Facebook服務器加載,所以我複製的文件ontp我的服務器,並進行了測試。我可以在本地託管Facebook的all.js嗎?

一切似乎都很好,實際上運行得更快。我的問題是 - 你知道這樣做是否有錯誤或錯誤嗎?

+2

很確定這是針對服務條款。另外,你還沒有得到更新等,你的主機比FB快嗎?這是一個非常好的服務器,你到那裏然後:) – AlfaTeK 2011-03-16 18:54:23

+0

我不知道,如果服務器運行速度更快,但它顯然,現在的應用程序運行速度更快,也許是因爲它doesn不得不搜索另一臺服務器中的文件 – 2011-03-16 19:08:44

+0

也許你的速度更快。但考慮到你的網站會在世界上某個地方的服務器,FB具有更好的世界的平衡,世界高速緩存,等等......我不知道,但我預測這將是對TOS。 – AlfaTeK 2011-03-16 20:10:41

回答

5

這裏的問題是,現在你正在轉移一個依賴關係,並通過擴展來維護這個依賴關係到你的本地應用程序。如果它託管在Facebook的服務器上,他們可以更新它來修復錯誤或添加功能。

如果它花費很長的時間來加載,你應該把它掛在自己的支持論壇

+1

一個需要本地化的例子是這樣的:Facebook一起使用PHP SDK和JS,Facebook更新了cookie格式,打破了我的網站,直到我找到並有時間下拉更新的PHP SDK。除非您有兩個版本的本地控制,否則在現實世界中保持這些同步是不可能的。 – Ray 2011-09-09 18:29:18

+0

我不會說不可能,只要你只能緩存它〜1小時(或更多,這取決於重要性到您的網站),應該在合理的時間內同步。我最後做的是腳本標記指向本地/path/to/all.js和使用URL改寫爲指向的是一個服務器端腳本來檢查當前文件高速緩存,並從Facebook下載,如果它不存在。 all.js今天正在採取> 20多歲的加載,但sharethis.com是有類似的問題(buttons.js> 40歲),所以我採取措施,確保既不會影響未來網頁的加載時間。 – 2013-09-29 02:08:38

2

當facebook更新API時,您可能會遇到一些問題。您需要定期和頻繁地(每5分鐘?)更新文件。

+0

他們每5分鐘更新一次該文件? – 2011-03-16 19:07:20

+1

不!我的意思是,你需要每5分鐘檢查一次並更新它是否已經改變。如果API沒有向後兼容性更改,您的應用程序將無法工作一段時間。 – Gregory 2011-03-17 07:52:26

5

你的頁面加載all.js文件在任何情況下。

  • Facebook的服務器應該比服務器的主機您 網站更快。所以,從理論上加載Facebook的js文件應該是 更快。
  • 一個更好的方法是緩存一段時間的文件。這會使頁面在初始頁面之後加載得更快,速度更快。
  • 正如人們所提到的,all.js文件會隨着bug修復等不斷更新。因此,獲得最新版本的文件總是會更好,而不是在一段時間後在服務器上手動更新它。
相關問題