加载API的Facebook和Twitter数据非常缓慢

时间:2012-02-15 16:34:01

标签: facebook performance twitter

我正在为一家公司工作,该网站使用javascript获取Facebook和Twitter信息并在页脚中显示。问题是它从这些网站加载javascript API,这会严重减慢加载时间。 twitter API用于过滤掉@replies和转发。 Facebook是一个喜欢的人。

如果我从头开始制作网站,我会将推文导入CMS并使用PHP过滤掉转推和@replies。由于html可以缓存,我认为这将是最快的解决方案。对于Facebook个人资料图片我不确定这是否可以由CMS如此轻松地handeld。

然而,网站的构建方式没有PHP等我可以用来做这个,所以我正在寻找一个解决方法。

由于Twitter有推文的RSS源,因此我可以通过javascript获取这些推文,过滤@replies和转推,然后将它们插入页面。这是目前发生的事情,但我可以在没有Twitter API的情况下完成。

另一种选择是创建一个单独的站点,它是一个CMS来导入推文,使用PHP过滤它们,并将它们作为html提供,并提供适当的缓存以提高速度。然后我可以使用iframe将此页面包含到主站点的页脚中。我听说过关于iframe的不好的事情,但我知道google地图和广告可以嵌入它们,如果做得好的话似乎不会引起任何问题。

他们对这些解决方案有任何疑问吗?有没有人不得不用像facebook一样解决同样的问题?

谢谢

1 个答案:

答案 0 :(得分:0)

iframe可以解决很多问题。 Web设计人员倾向于避免使用它们,因为它们不具有可伸缩性,可能会导致屏幕阅读器出现视觉问题和可访问性问题。

您是否希望在不使用其API的情况下添加类似Facebook的按钮?您可以通过获取应用程序ID(您的公司最有可能拥有它)然后使用其查询字符串编写链接来完成此操作。

创建一个列出URL的变量并使用encodeURIComponent

var FLike=" http://www.facebook.com/dialog/feedredirect_uri=THE_URL&app_id=YOUR_APP_ID&link=THE_URL_YOURE_LINKINGTO&name=TITLE_YOU_WANT_TO_DISPLAY"; document.write(encodeURIComponent(uri));

然后,使用一个简单的JavaScript函数使其成为弹出窗口(如果需要)

function Like() 
{ 
window.open("FLike","Facebook","width=700,height=300,toolbar=0,resizable=0"); 
} 

并拥有一个带有onClick事件的图像(类似按钮)。如果您不想使用类似的按钮设计,这是一个很好的解决方法。

相关问题