приложение facebook, диалог для публикации на стене пользователя, используя javascript api, всплывающее окно заблокировано в браузерах - PullRequest
3 голосов
/ 22 марта 2011

Я использую JS-API для создания диалога, который запрашивает разрешение на публикацию сообщения о состоянии, созданного моим Приложением. ниже приведен скриншот того, о чем я говорю: THE POP-UP which gets blocked by browsers

вот код:

FB.ui(
   {
     method: 'feed',
     name: 'Facebook Dialogs',
     link: 'http://developers.facebook.com/docs/reference/dialogs/',
     picture: 'http://fbrell.com/f8.jpg',
     caption: 'Reference Documentation',
     description: 'Dialogs provide a simple, consistent interface for applications to interface with users.',
     message: 'Facebook Dialogs are easy!'
   },
   function(response) {
     if (response && response.post_id) {
       alert('Post was published.');
     } else {
       alert('Post was not published.');
     }
   }
 );

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

Ответы [ 3 ]

3 голосов
/ 23 марта 2011

Не понимаю, почему это тебя беспокоит.Если пользователь блокирует всплывающее окно FACEBOOK, то это его потеря!

В любом случае, если вам действительно нужно обработать все случаи, вы можете выбрать другой способ.Прочитайте диалог Feed .

То, что вы могли бы сделать, - когда вы закончили с предыдущего шага, вы перенаправили свою страницу в метод фида Facebook, чтобы она открылась как страница:

http://www.facebook.com/dialog/feed?
  app_id=123050457758183&
  link=http://developers.facebook.com/docs/reference/dialogs/&
  picture=http://fbrell.com/f8.jpg&
  name=Facebook%20Dialogs&
  caption=Reference%20Documentation&
  description=Dialogs%20provide%20a%20simple,%20consistent%20interface%20for%20applications%20to%20interact%20with%20users.&
  message=Facebook%20Dialogs%20are%20so%20easy!&
  redirect_uri=http://www.example.com/response

Важная часть дляизмените здесь app_id и redirect_uri, поэтому ваш код будет выглядеть так:

...
previous code
...
inside previous code success response
...
var url = "http://www.facebook.com/dialog/feed?" +
            "app_id=" + YOUR_APP_ID + "&" +
            "link=http://developers.facebook.com/docs/reference/dialogs/&" +
            "picture=http://fbrell.com/f8.jpg&" +
            "name=Facebook%20Dialogs&" +
            "caption=Reference%20Documentation&" +
            "description=Dialogs%20provide%20a%20simple,%20consistent%20interface%20for%20applications%20to%20interact%20with%20users.&" +
            "message=Facebook%20Dialogs%20are%20so%20easy!&" +
            "redirect_uri=" + YOUR_REDIRECT_URI;
top.location.href = url;
1 голос
/ 19 августа 2011

Ваш код в порядке.Для меня это вызывает диалог Feed.Ваша проблема где-то еще.Вы добавили <div id="fb-root"></div>?Убедитесь, что он находится вверху страницы сразу после тега <body>.

Также убедитесь, что вы правильно загружаете FB Javascript SDK:

<script type="text/javascript" src="http://connect.facebook.net/en_US/all.js"></script>
0 голосов
/ 22 января 2014

Используйте этот код Вы забыли добавить свойство отображения

FB.ui(
   {
     method: 'feed',
     display: 'popup',
     name: 'Facebook Dialogs',
     link: 'http://developers.facebook.com/docs/reference/dialogs/',
     picture: 'http://fbrell.com/f8.jpg',
     caption: 'Reference Documentation',
     description: 'Dialogs provide a simple, consistent interface for applications to interface with users.',
     message: 'Facebook Dialogs are easy!'
   },
   function(response) {
     if (response && response.post_id) {
       alert('Post was published.');
     } else {
       alert('Post was not published.');
     }
   }
 );
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...