В каких путях JavaScript ограничивается при создании приложения Facebook?

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

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

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

12
задан Nosredna 8 June 2009 в 16:44
поделиться

3 ответа

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

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

Большинство провайдеров, которые позволяют разработчикам встроить JavaScript в свой домен заставить разработчиков использовать фреймы для песочница их кода. Facebook взял другой подход к этой проблеме. JavaScript, который вы нам даете, получает анализируется, и любые идентификаторы (функция и имена переменных) добавляются с ID вашего приложения. Например, следующий блок кода:

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

}

становится:

 function a12345_foo (a12345_bar) {var a12345_obj = {property: a12345_bar}; вернуть a12345_obj.property; }

Это создает виртуальную область видимости для каждого приложение, работающее в Facebook. Оттуда мы выставляем определенные функциональность через набор Объекты JavaScript, которые позволяют изменять свой контент на Facebook. Наши объекты созданы, чтобы имитировать функциональность JavaScript так же близко возможно, но это может занять некоторое время привыкание к людям, которые уже знаком с JavaScript.

Многие элементы, которые являются просто элементами в обычном JavaScript, должны выполняться с помощью специальных вызовов методов в FBJS. Например, когда вы ссылаетесь на значение поля формы в JS, вы используете .value , тогда как в FBJS вам нужно использовать .getValue () . Именно эти различия не позволяют просто вырезать и вставлять JS из других источников в Facebook.

Это базовый учебник. Это должно вас начать. Всего наилучшего!

9
ответ дан 2 December 2019 в 21:45
поделиться

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

2
ответ дан 2 December 2019 в 21:45
поделиться

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

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

, поэтому вам придется использовать iFrame, в котором ваш javascript останется работоспособным (пока ваш javascript не касается тегов fbml)

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

1
ответ дан 2 December 2019 в 21:45
поделиться
Другие вопросы по тегам:

Похожие вопросы: