Facebook游戏功能,优化通话和加载栏

时间:2009-12-12 12:10:21

标签: ajax facebook

我正在尝试制作一款Facebook游戏并尝试复制我在其他Facebook游戏中常见的常用功能(对我的网站的调用以及作为加载栏的虚幻图像)。

我不熟悉Ajax或Javascript,所以请光临我。

该功能应该执行以下操作:

  1. 用户点击按钮

  2. 动画Gif出现(加载栏)

  3. 按钮更新用户状态

  4. 动画Gif消失

  5. Facebook Canvas页面已更新

  6. The code I currently have can be found at Pastebin

    我无法考虑第2步和第4步。

    我需要优化第5步。

    澄清步骤5会发生什么。我有Box 1,其中包含我的统计数据。和盒子2有我的观点。我点击方框1.这应该用1分更新方框1,并更新方框2;减一点。 (单击框1,同时更新两个框)

    我已成功完成此操作,但速度很慢。我想知道是否有替代方式可能比我目前正在做的更快。

    非常感谢您的建议。


    Script Updated with Mark-up.

    我找到了一种优化通话的快捷方式。我将使用第一个查询来获取大部分数据,而不是在更新时查询数据,而不是查询我已经查询过的数据。

1 个答案:

答案 0 :(得分:0)

查看文档标记(XHTML)将极大地帮助您拥有元素和调用javascript函数。

对于第2步和第4步,我建议您使用visibility属性而不是display,或者在fb:js-string中使用加载栏并在开始加载时使用elem.setInnerFbml获得响应数据后,只需将其更新为新内容(在这种情况下,您不需要显式loading_finish函数)。

get_skillpoint函数中,您在对象中设置参数,然后在您要发布到的URL中再次指定action参数作为URL查询参数 - 您最终可能会得到一个值覆盖另一个,具体取决于您在服务器端访问这些值的方式。如果它们不相同,我建议为这两个参数使用不同的名称。另外,为什么要尝试发送单独的GET和POST变量集?您应该将所有内容放在POST中,只是省略URL查询字符串。我依稀记得过去以这种方式丢失数据(含糊地,请注意)。

如果你可以发布你的标记,我将用它解决问题的任何亮点来更新我的答案。它可能很慢,因为Facebook在FBJS和AJAX方面并不快速致盲。此外,返回的FBML必须在应用程序获取之前在FB代理中进行预处理,这会增加一些延迟;返回JSON并从中提取所需的数据要快一些,然后将相应的部分放入现有元素中或使用fb:js-string