Flash-видео не появляется на странице холста в Facebook - PullRequest
0 голосов
/ 28 июня 2011

эта страница работает при локальном запросе (воспроизводится флэш-фильм), http://localhost:8080/flash.aspx

У меня также настроена маршрутизация URL-адреса http://localhost:8080/videos/ и указывается http://localhost:8080/flash.aspx

Если я настроил следующие настройки приложения для Facebook:

--- website ---

  1. url сайта: http://localhost:8080/
  2. domain site: localhost

--- интеграция с Facebook ---

  1. страница холста: http://apps.facebook.com/my_app/
  2. URL холста: http://localhost:8080/video/

когда я запрашиваю страницу: http://apps.facebook.com/my_app - http://localhost:8080/flash.aspx загружается на холст Facebook (я вижу мой тестовый текст), однако флэш-фильм не воспроизводится.

Вот код jquery, который я использую для загрузки SWF на flash.aspx

$(document).ready(function () {
    if (swfobject.hasFlashPlayerVersion("6.0.0")) {
        var att = { data: "flash/video.swf", width: "385", height: "312" };
        var par = { flashvars: "foo=bar" };
        var id = "video-container";
        swfobject.createSWF(att, par, id);
    }
});

Любые идеи, почему флэш-фильм не воспроизводится, когда я запрашиваю: http://apps.facebook.com/my_app/, но воспроизводитсякак следует, когда страница запрашивается локально?

Ответы [ 2 ]

1 голос
/ 28 июня 2011

Я не знаю о проблемах домена (они выходят за рамки SWFObject), но ваш код можно немного улучшить. Вы упаковываете весь блок в функцию jQuery ready, но затем также используете addDomLoadEvent. Это избыточно. Вы можете упростить до:

$(document).ready(function () {
    if (swfobject.hasFlashPlayerVersion("6.0.0")) {
        var att = { data: "flash/video.swf", width: "385", height: "312" };
        var par = { flashvars: "foo=bar" };
        var id = "video-container";
        var myObject = swfobject.createSWF(att, par, id);
    }
 });

ИЛИ вы можете просто использовать функцию SWFObject embedSWF, которая имеет встроенное обнаружение загрузки:

var flashvars = { foo: "bar" };
var par = {};
var att = {};
swfobject.embedSWF("flash/video.swf", "video-container", "385", "312", "6.0.0", false, flashvars, par, att);
1 голос
/ 28 июня 2011

Использование абсолютного пути к флеш-файлу исправило его.http://www.mysite.com/flash/video.swf

...