2009-06-08 70 views
12

我被要求做Facebook应用程序。在我承诺任何事情之前,我想知道一款游戏能够轻松地转移到Facebook吗? (我完全可以在浏览器中使用JavaScript制作游戏。)制作Facebook应用程序时,JavaScript受限制的方式是什么?

Facebook以某种方式过滤JavaScript吗?我可以使用jQuery或其他JS库吗?我可以通过动态更改DOM来执行动画吗?最好是使用iFrame还是使用FBML?

我已经做了一些周围的Facebook开发网站戳。但我希望听到某人完成了学习曲线。

回答

9

Facebook上下文中的JavaScript有所不同,因为它会在通过Facebook时被重写。要了解差异(其中有很多差异),请从FBJS Documentation开始。 getting started指南是一个很好的入门书。

将成为您的圣经的网站是wiki.developers.facebook.com,它在FB平台方面是典型的。此外,当我们都知道和(爱?讨厌?)时,Facebook平台是一个移动的目标,所以通过Facebook上的开发人员组跟上事情是很有用的。我也喜欢博客Inside Facebook

谁允许开发人员 其域 力开发中嵌入JavaScript才能使用的iframe 大多数提供商沙盘他们的代码。 Facebook采取了 这个问题的另一种方法。 您给我们提供的JavaScript获得 解析,并且任何标识符(函数 和变量名称)都会以您的应用程序标识为前缀 。例如,以下的 代码块:

function foo(bar) { var obj = {property: bar}; return obj.property; 

}

变为:

function a12345_foo(a12345_bar) { var a12345_obj = {property: a12345_bar}; return a12345_obj.property; } 

这产生了对在Facebook运行每 应用程序的虚拟范围。 从那里,我们通过一组 JavaScript对象,允许您在Facebook上修改您的内容,从而暴露某些 功能。我们的 对象模仿 JavaScript的功能尽可能接近 ,但可能需要一些 已经习惯了 已经熟练使用JavaScript的人。

许多只是普通JavaScript元素的项目必须在FBJS中用特殊的方法调用来完成。例如,当在JS中引用表单域的值时,您使用.value,而在FBJS中,您需要执行.getValue()。正是这些差异阻止了将JS从其他地方剪切和粘贴到Facebook。

这是一个基本的底漆。这应该让你开始。最适合你!

+0

有没有办法改变绝对div的顶部和左侧?我无法在链接中找到它。 – Nosredna 2009-06-09 03:29:38

1

不是太难我会说,既然你已经有能力编程一个游戏,它应该没问题,你编写一个Facebook应用程序,以及将游戏移植到Facebook。

据我所知,与FBML你的JavaScript将形同虚设(是你的JavaScript将被过滤)

,所以你将不得不使用iframe中,你的JavaScript将保持功能(只要你的JavaScript不会触及fbml标签)

Facebook api文档非常糟糕。

2

简单的解决方案是将你的整个游戏包装在一个iFrame中。 FB本身可以滤除大量的JavaScript调用 - 基本上,涉及窗口或文档对象的任何内容都可能不起作用。

相关问题