Каким образом JavaScript ограничен при создании приложения Facebook?

голоса
12

Меня попросили сделать Facebook приложения. Перед тем, как совершить что-нибудь, я хочу знать, как легко игра может быть перемещена в Facebook? (Я абсолютно комфортно делать игры в JavaScript в браузере.)

отфильтровывать ли Facebook на JavaScript в некотором роде? Могу ли я использовать JQuery или другие JS библиотеки? Могу ли я сделать анимацию изменения DOM на лету? Является ли это лучше идти с плавающим фреймом или использовать FBML?

Я сделал некоторые ковыряться Dev сайта Facebook. Но я хотел бы услышать от кого-то, кто сделал это, что кривая обучения, как.

Задан 08/06/2009 в 17:44
источник пользователем
На других языках...                            


3 ответов

голоса
1

Не слишком сложно, я бы сказал, так как у вас уже есть возможность программировать игру, она должна быть хорошо для вас, чтобы запрограммировать приложение facebook, а также перенастройки игры на Facebook.

насколько я знаю, с FBML ваш Javascript будет бесполезен (да Javascript будет фильтроваться)

так что вам придется использовать IFrame, который ваш Javascript будет оставаться функциональным (до тех пор, как ваш Javascript не касается тегов FBML)

Facebook API документация, как известно, плохо.

Ответил 08/06/2009 в 17:49
источник пользователем

голоса
9

JavaScript в контексте Facebook отличается , поскольку все это будет получить переписано как она проходит через Facebook. Для того, чтобы получить представление о различиях (из которых есть много), начните с документацией FBJS . Знакомится руководство хороший грунт.

Сайт , который станет вашей библией wiki.developers.facebook.com , она является канонической точка зрения FB платформы. Кроме того, как все мы познали и (любовь? Ненавидишь?) Платформа Facebook является движущаяся цель, поэтому полезно иметь с вещами через Developers Group на Facebook. Мне также нравится блог Inside Facebook .

Большинство провайдеров, которые позволяют разработчикам внедрять JavaScript в своих разработчиках домен силы использовать фреймы для песочницы коды. 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.

Это основной грунт. Это должно вам начать. Лучше для вас!

Ответил 08/06/2009 в 18:26
источник пользователем

голоса
2

Самое простое решение, чтобы обернуть всю игру внутри IFRAME. Сам FB отфильтровывает много Javascript вызывает - в основном, все, что с участием окна или документа объекты, вероятно, не будет работать.

Ответил 09/06/2009 в 03:30
источник пользователем

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more