Невозможно запустить JavaScript в приложении Facebook - PullRequest
0 голосов
/ 17 октября 2010

Я пытаюсь преобразовать свое когда-то полнофункциональное приложение из старых шаблонов каналов в новый материал для издателей.Однако при попытке инициировать новый API я получил ошибку javascript a28251737459_FB is not defined.Не удалось отладить или точно определить местоположение ошибки, я попытался удалить все на главной странице приложения, кроме <script> alert('Test'); </script>.Это вызывает почти ту же ошибку, что и выше, a28251737459_alert is not defined.

Странная часть в том, что все мои определенные функции для Mock AJAX и т. Д. Работают нормально.Мне просто кажется, что я не могу вызывать какие-либо функции или ссылаться на объекты, такие как window / document / FB, из глобальной области действия скрипта.

Приложение работает в режиме холста FBML и работает на моем собственном виртуальном сервере в разделеApache 2. Чтобы повторить ошибку, нажмите кнопку отправки формы.

Ссылка на мое приложение: http://apps.facebook.com/sendwhatever/

Ответы [ 2 ]

2 голосов
/ 17 октября 2010

FBML-приложения не имеют полной поддержки JavaScript. Они используют собственную реализацию javascript (оболочку) в Facebook под названием FBJS .

Вы не можете использовать JavaScript FB API внутри приложений FBML. Вы можете использовать теги FBML . Если FBML недостаточно, вы всегда можете использовать Facebook API на своей стороне сервера (php?), А затем отображать страницу соответствующим образом (или использовать ajax для запроса данных на стороне сервера, ajax поддерживается в FBJS).

1 голос
/ 21 октября 2010

Facebook добавляет ваш appID ко всем функциям, поэтому alert («Test») меняет свое имя, также окна предупреждений не допускаются в приложениях FBML canvas. Вы должны использовать некоторые элементы FBML, чтобы показать предупреждение пользователю

...