Facebook - показать диалог помощи - PullRequest
5 голосов
/ 03 августа 2009

Как я могу показать типичное диалоговое окно справки модального Facebook, когда пользователь нажимает на одну из ссылок в моем приложении Facebook?

Спасибо.

Ответы [ 2 ]

8 голосов
/ 03 августа 2009

Если вы используете приложение IFrame, вы можете использовать FB.UI.PopupDialog из JS API. Плохая новость заключается в том, что для этой функции нет документации, и ее использование не очень простое. Хорошей новостью является то, что я уже понял это! :)

// First, define the HTML content you want in the dialog as a javascript string:
var content = '<div><h2>Help is here!</h2><div>Hint: you can eat the cookies!</div></div>';

// Then add the content to this resource dictionary thing, wrapped in a div with the id "RES_ID[your identifier here]"
FB.UI.DomResources.addResourceDict(new FB.UI.DomResDict('<div id="RES_IDhelp01">' + content + '</div>'));

// Instantiate the popup dialog and show it:
var popup = new FB.UI.PopupDialog('Help?!', FB.UI.DomResources.getResourceById('help01'), false, false);
popup.show();

Конечно, эти биты могут распространяться по вашей странице по мере необходимости, и вы можете использовать php для генерации HTML-контента для вас.

Легко, правда? : D Наслаждайся!

0 голосов
/ 08 марта 2011

Ссылка Codebliss привела меня на страницу документации, показывающую, как вызывать всплывающее диалоговое окно iframe на вашей веб-странице, используя их JS SDK . Сначала вы должны загрузить скрипт Facebook:

<div id="fb-root"></div>
  <script>
    window.fbAsyncInit = function() {
      FB.init({appId: '[YOUR_APP_ID]', status: true, cookie: true, xfbml: true});
  };
  (function() {
    var e = document.createElement('script'); e.async = true;
    e.src = document.location.protocol +
    '//connect.facebook.net/en_US/all.js';
    document.getElementById('fb-root').appendChild(e);
  }());
 </script>  

Затем поместите что-то вроде на своей странице:

<a href="#" id="test">click me</a>
// some code
$(document).ready(function() {
  $('#test').click(function() {
    FB.ui({
      method: 'feed',
      name: 'Facebook Dialogs',
      link: '[YOUR_WEBSITES_REGISTERED_URL_ON_FB]',
      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, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...