Как встроить кнопку «Поделиться на Facebook» в приложение Flex? - PullRequest
4 голосов
/ 10 сентября 2010

Я пытаюсь продублировать поведение кнопки «Поделиться в Facebook» с Youtube.По сути, внутри приложения Flex у меня есть кнопка, и когда я нажимаю на нее, я хочу всплывающее окно, которое позволяет мне размещать что-то на стене.

Хотя можно сделать вызов javascript, чтобы открыть всплывающее окно, я хочу установить изображения и текст моего сообщения.

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

Спасибо!

Ответы [ 3 ]

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

Это довольно просто сделать. Youtube использует Facebook API, который открывает новое окно ( Информация о Facebook sharer API ).

Чтобы сделать это в flex,

  1. Создайте кнопку, которая onClick будет вызывать метод javascript, ExternalInterface.call("fbLink", "www.yahoo.com");
  2. В вашем HTML-файле (скорее всего index.template.html) добавьте метод JavaScript, fbLink, который выполняет следующие действия:

    функция fbLink (url) { window.popup ("http://www.facebook.com/sharer.php?u=" + url, {высота: 440, ширина: 620, полосы прокрутки: true}) }

  3. Теперь, когда пользователь нажимает на кнопку, он делится ссылкой «yahoo.com» с учетной записью Facebook.

0 голосов
/ 28 сентября 2010

Похоже, что вы хотите иметь кнопку во флэш-приложении, и после нажатия на нее открывается страница facebook, на которой выкладываете видео / изображение, относящееся к нажатой кнопке.Что вы хотите сделать, это просто создать кнопку, которая при щелчке открывает новый веб-сайт для Facebook, используя их API api, который имеет следующий формат:

var facebookShare:String = "http://www.facebook.com/share.php?u=' + encodedVideoLink + '&t='+ encodedVideoText";

Где параметр u обозначает ссылку, которую вы хотитеshare, а параметр t обозначает заголовок фрагмента, которым вы хотите поделиться, будь то картинка или видео.

Вы хотите добавить прослушиватель событий в MouseEvent.CLICK, который имеет функцию обратного вызоваметод, который обрабатывает открытие страницы facebook, передавая переменную facebookShare, как показано выше.Чтобы открыть другую страницу в вашем браузере, вы можете использовать этот класс AS3 под названием URLNavigator: http://www.danishmetal.dk/project/source/com/zorked/URLNavigator.as

Подводя итог, можно сделать следующее:

var facebookShare:String = "http://www.facebook.com/share.php?u=' + encodedVideoLink + '&t='+ encodedVideoText";
    facebookButton.addEventListener(MouseEvent.CLICK, this._goToUrl(facebookShare));

private function _goToUrl(link:String):Function {

        var window:String = "_blank",
            feats = "",
            thisOverlay:Object = this; // to not lose scope when returning a func

        return function (e:MouseEvent):void {
                trace("Opening link to:"+link);
                try { URLNavigator.ChangePage(link, window, feats); }
                catch (e:Error) { trace("error launching "+link+" in "+window+" with feature set "+feats); }
            }
        }

Iнадеюсь, это поможет.Если у вас есть вопросы относительно кода, пожалуйста, дайте мне знать.

0 голосов
/ 10 сентября 2010

как я понял, вы просите помощи в доступе к js-всплывающему окну на html-странице кнопки общего доступа на Facebook, поэтому вам следует использовать ExternalInterface в этом casa и получить доступ к нужному DOM-узлу с помощью функции getElementById в вашем js-интерфейсе.

В другом случае я хочу предложить вам прочитать еще один способ http://www.riaxe.com/blog/flex/publish-into-facebook-wall-from-flex/

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...