FB.ui отображает iFrame внутри моего приложения iFrame - PullRequest
0 голосов
/ 19 февраля 2012

Когда я пытаюсь создать диалоговое окно для запроса пользователя на его стене, диалоговое окно iframe отображается внутри моего приложения iFrame, которое скрывает половину диалога: (

Вы можете найти скриншот здесь http://img59.imageshack.us/img59/3076/dialogueq.jpg

Обычно он должен отображаться в виде лайтбокса и должен отображаться вне приложения iFrame.

 FB.ui(
 {
  method: 'feed',
  message: 'Gain points and prizes with '+pageName ,
  name: 'Visit our mobile community',
  caption: pageName,
  description: desc,
  link:  'http://mydomain.com/generateLink?pageId='+pageId,
  picture: 'http://mydomain.com/public/img/Logo.png',
  user_message_prompt: 'Share your thoughts about '+ pageName +' and gain points.'
 },
 function(response) {
    postedOnFb = true;
   if (response && response.post_id) {
   }
 }
);

Кто-нибудь сталкивался с подобной проблемой?

Заранее спасибо

1 Ответ

1 голос
/ 19 февраля 2012

Весь опыт пользовательского интерфейса Facebook, предоставленный facbook js sdk, отображается внутри iframe.Поскольку он предназначен для использования как на холстовых страницах, так и на веб-сайтах, он не учитывает тот факт, что ваша страница находится внутри Facebook.Более того, вероятно, возникли бы некоторые проблемы с безопасностью, если бы он пытался это сделать, и если бы это работало, это дало бы людям хорошую возможность сделать XSS .

Поскольку ваше приложениенаходится внутри страницы, а также выглядит так, как будто вы используете экран с небольшим разрешением. Я предлагаю вам попытаться отобразить это диалоговое окно во всплывающей версии.Я согласен, это не так гладко, но, по крайней мере, пользователи смогут видеть все это.

Чтобы открыть диалоговое окно во всплывающем окне, укажите параметр «display», например:

FB.ui(
 {
  method: 'feed',
  display: 'popup',
  message: 'Gain points and prizes with '+pageName ,
  name: 'Visit our mobile community',
  caption: pageName,
  description: desc,
  link:  'http://mydomain.com/generateLink?pageId='+pageId,
  picture: 'http://mydomain.com/public/img/Logo.png',
  user_message_prompt: 'Share your thoughts about '+ pageName +' and gain points.'
 },
 function(response) {
    postedOnFb = true;
   if (response && response.post_id) {
   }
 }
);

Подробнее об этом можно прочитать здесь: http://developers.facebook.com/docs/reference/javascript/FB.ui/

...