Flash Embed не работает - PullRequest
       16

Flash Embed не работает

0 голосов
/ 02 августа 2010

Пожалуйста, сохраните мой скин.

http://clubentertainment.ie/c/art-perf/embed_example.html

Приведенная выше ссылка должна загружаться в Firefox, не загружаться ни в чем.Не появляется, чтобы бросить какие-либо ошибки.Он даже проверяет.

Он использует swfobject, все ссылки, похоже, работают ... просто не работает.Я хотел бы обвинить объект flash, но поскольку он работает в Firefox, ошибка должна быть где-то еще.

Есть идеи?Есть ли альтернативный способ встраивания и работы до сих пор?

Более того, прозрачность wmode не позволяет выпадающему html-списку появляться сверху флэш-памяти.случилось с щедростью - я обнаружил проблему.Ошибка была определенно с сервером.Переехал сайт, больше ничего не изменилось.Работает просто отлично.Я просто хотел бы поблагодарить всех за помощь.

Ответы [ 5 ]

2 голосов
/ 09 августа 2010

Я думаю, что это проблема междоменной политики. Попробуйте использовать относительный путь URL вместо абсолютного пути. Теперь у вас есть абсолютный путь.

2 голосов
/ 09 августа 2010

При установке прямой ссылки на ваш SWF он работает на т.е.http://clubentertainment.ie/c/art-perf/CU3ER.swf

Это может быть межсайтовая проблема.здесь код, используемый в CU3ER для демонстрации http://getcu3er.com/features/

<script type="text/javascript"> 

                    var vars = { xml_location : '/inc/cu3er/config_features_overview.xml?v=2'};
                    var params = {  wmode:'transparent' };
                    var attributes = { id:'CU3ER', name:'CU3ER' }; // give an id to the flash object

                    swfobject.embedSWF("/CU3ER.swf", "cu3er-container", "300", "390", "9.0.45", "/js/expressInstall.swf", vars, params, attributes );

                </script> 

РЕДАКТИРОВАТЬ: , просто поместив код в тело, а не в заголовок, в котором работает swf, то есть

    <body >
    <script type="text/javascript">
      // add your FlashVars
      var vars = { xml_location : 'http://clubentertainment.ie/c/art-perf/CU3ER-config.xml' };
      // add Flash embedding parameters, etc. wmode, bgcolor...
      var params = { bgcolor : '#ffffff' };
      // Flash object attributes id and name
      var attributes = { id:'CU3ER', name:'CU3ER' };
      // dynamic embed of Flash, set the location of expressInstall if needed
        swfobject.embedSWF('http://clubentertainment.ie/c/art-perf/CU3ER.swf', "CU3ER", 500, 250, "9.0.45", "http://clubentertainment.ie/c/art-perf/js/expressInstall.swf", vars, params, attributes );
      // initialize CU3ER class containing Javascript controls and events for CU3ER
      // var CU3ER = new CU3ER("CU3ER");
    </script>

  <!-- CU3ER content HTML part starts here   -->
  <div id="CU3ER">
    <noscript>
      <!-- modify this content to provide users without Flash or enabled Javascript with alternative content information -->
      <p>Click to get Flash Player<br /><a href="http://www.adobe.com/go/getflashplayer"><img src="http://www.adobe.com/images/shared/download_buttons/get_flash_player.gif" alt="Get Adobe Flash player" /></a></p>
      <p>or try to enable JavaScript and reload the page
      </p>
    </noscript>
  </div>
  <!-- CU3ER content HTML part ends here   -->


</body>
1 голос
/ 10 августа 2010

Я вижу, что он не работает в Safari 5, но работает в Firefox 4. Пожалуйста, попробуйте внедрить, используя метод статической публикации SWFObject, чтобы вы могли исключить JavaScript как потенциальную проблему:

 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en">
<head>
    <title>CU3ER</title>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <script type="text/javascript" src="/c/art-perf/js/swfobject.js"></script>
    <script type="text/javascript" src="/c/art-perf/js/CU3ER.js"></script>
    <script type="text/javascript">
        swfobject.registerObject("cu3er-container", "9.0.45", "/c/art-perf/js/expressInstall.swf");
    </script>
</head>
<body>
    <div>
        <object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" width="300" height="390" id="cu3er-container" class="CU3ER">
            <param name="movie" value="/c/art-perf/CU3ER.swf" />
            <param name="wmode" value="transparent" />
            <param name="bgcolor" value="#ffffff" />
            <param name="flashvars" value="xml_location=/inc/cu3er/config_features_overview.xml?v=2" />
            <!--[if !IE]>-->
            <object type="application/x-shockwave-flash" data="/c/art-perf/CU3ER.swf" width="300" height="390" class="CU3ER">
                <param name="wmode" value="transparent" />
                <param name="bgcolor" value="#ffffff" />
                <param name="flashvars" value="xml_location=/inc/cu3er/config_features_overview.xml?v=2" />
            <!--<![endif]-->
                <a href="http://www.adobe.com/go/getflashplayer">
                    <img src="http://www.adobe.com/images/shared/download_buttons/get_flash_player.gif" alt="Get Adobe Flash player" />
                </a>
            <!--[if !IE]>-->
            </object>
            <!--<![endif]-->
        </object>
    </div>
</body>
</html>

Выможет потребоваться настроить JavaScript для работы с идентификатором cu3er-container или классом CU3ER.В этом примере SWFObject вызывается только в том случае, если версия Flash недостаточна, чтобы он мог предоставить экспресс-установщик для быстрого обновления, в противном случае для этого не требуется JavaScript.

0 голосов
/ 11 августа 2010

SWF-файл прекрасно загружается для меня в Chrome 5.0.375.125, но слайд-шоу не загружается. Я подозреваю, что это может быть связано с различиями в том, как разные веб-браузеры обрабатывают ошибки Javascript.

Я включил отладку сценариев для Internet Explorer (я настоятельно рекомендую это сделать) и открыл вашу страницу, и я сразу же получил ошибку Javascript в том, что похоже на вызовы Flash ExternalInterface для функций Javascript, определенных в CU3ER.js. Иногда браузеры решают вообще прекратить запуск скриптов при возникновении ошибки, а некоторые просто продолжают. Firefox находится в лагере «просто продолжить». При нажатии «игнорировать» для ошибок в IE, IE смог загрузить изображения, но продолжал вызывать ошибки Javascript.

Ошибки Javascript, кажется, происходят, потому что CU3ER не может найти себя в DOM. Это основано на том факте, что этот вызов функции Javascript испускается:

__flash__addCallback(document.getElementById(""), "playCU3ER");

Эта испускаемая функция определяется следующим образом:

function __flash__addCallback(instance, name) {
    instance[name] = function () { 
        return eval(instance.CallFunction("<invoke name=\""+name+"\" returntype=\"javascript\">" + __flash__argumentsToXML(arguments,0) + "</invoke>"));
    }
}

Тот факт, что document.getElementById был вызван с пустой строкой, может означать, что отсутствует некоторая переменная flash, которая требуется CU3ER. Проверьте документацию для SWF и убедитесь, что у вас есть все необходимое для встраивания. Или это может быть относительная или абсолютная проблема URL, как уже упоминали другие.

0 голосов
/ 09 августа 2010

Вы всегда можете попробовать встроить flash, используя действующие приемы в XHTML.Вы можете найти больше об этом здесь: http://latrine.dgx.cz/how-to-correctly-insert-a-flash-into-xhtml

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

РЕДАКТИРОВАТЬ

Попробуйте использовать относительные пути к вашему SWF-файлу.У меня это сработало.

...