我被要求制作Facebook应用程序。在做出承诺之前,我想知道一个游戏能否轻松地移植到Facebook上?(我完全熟练地在浏览器中使用JavaScript制作游戏。)
Facebook是否以某种方式过滤JavaScript?我能否使用jQuery或其他JS库?我能否通过实时更改DOM来进行动画制作?是使用iFrame还是FBML最好?
我已经在Facebook开发网站上进行了一些探索。但我想听听有经验的人谈论一下学习曲线。
我被要求制作Facebook应用程序。在做出承诺之前,我想知道一个游戏能否轻松地移植到Facebook上?(我完全熟练地在浏览器中使用JavaScript制作游戏。)
Facebook是否以某种方式过滤JavaScript?我能否使用jQuery或其他JS库?我能否通过实时更改DOM来进行动画制作?是使用iFrame还是FBML最好?
我已经在Facebook开发网站上进行了一些探索。但我想听听有经验的人谈论一下学习曲线。
许多在普通JavaScript中只是元素的项目,必须通过FBJS的特殊方法调用来完成。例如,在JS中引用表单字段的值时,您使用Most providers who allow developers to embed JavaScript within their domain force developers to use iframes to sandbox their code. Facebook has taken a different approach to this problem. JavaScript that you give us gets parsed, and any identifiers (function and variable names) get prepended with your application ID. For example, the following code block:
function foo(bar) { var obj = {property: bar}; return obj.property;
}
becomes:
function a12345_foo(a12345_bar) { var a12345_obj = {property: a12345_bar}; return a12345_obj.property; }
This creates a virtual scope for every application that runs within Facebook. From there we expose certain functionality through a collection of JavaScript objects that allow you to modify your content on Facebook. Our objects are made to mimic the functionality of JavaScript as closely as possible, but it may take some getting used to for people who are already adept with JavaScript.
.value
,而在FBJS中,您需要使用.getValue()
。正是这些差异防止了将其他地方的JS简单剪切和粘贴到Facebook中。