Встраивание JWPlayer с использованием SWFObject - с нанесенным скином - PullRequest
0 голосов
/ 12 августа 2011

Я столкнулся с небольшим препятствием, и это сводило меня с ума в течение последних 3 часов.Я перепробовал все, что мог придумать ...

Я пытаюсь встроить несколько JW-плееров в страницу, используя SWFObject.Он создается из функции в рамках SilverStripe.Само встраивание работает просто отлично, но оно не загружает скин.Ублюдок

Код, возвращаемый для каждого экземпляра, выглядит следующим образом:

<script type="text/javascript"> 
//<![CDATA[
swfobject.embedSWF(
'http://xxxxxxx.xxxxxxx.nl/dataobject_manager/code/flv/shadowbox/libraries/mediaplayer/player.swf',
'player-1',
'646',
'341',
'9.0.0',
'expressInstall.swf',
{
    file : 'http://xxxxxxx.xxxxxxx.nl/assets/Uploads/1.Introductie.flv',
    image : '/assets/video_thumbnails/_resampled/croppedimage646341-1.jpg',
    skin : 'http://xxxxxxx.xxxxxxx.nl/dataobject_manager/code/flv/jwplayer-skin/jw-skin_nedtrain.zip'
},
{
    allowscriptaccess : 'true', 
    wmode : 'opaque', 
    allowfullscreen : 'true'
}
)
//]]>
</script> 

Теперь URL-адрес, заданный для обложки, верный.Но когда я запускаю эту страницу в Chrome, его консоль сообщает мне следующее:

Не удалось загрузить ресурс: сервер ответил с состоянием 404 (не найдено) / dataobject_manager / code / flv / jwplayer-skin / jw-skin_nedtrain.zip.swf

Заметили « .swf » в конце?Откуда, черт возьми, он это взял ?!Черт, этот файл не существует.Я предполагаю, что SWFObject обрабатывает URL и добавляет .swf-часть, поэтому я попытался использовать jwplayer.js, чтобы встроить его.Что вызвало точно такую ​​же ошибку .

Я в тупике.Может ли кто-нибудь помочь мне избавиться от моих страданий?Любой ??

1 Ответ

0 голосов
/ 14 августа 2011
  1. Вы добавили плеер в папку dataobject_manager? ИМХО, это никогда не должно быть там добавлено - держите любой собственный код / ​​утилиту в mysite, вашей теме или в папке для выделенного модуля / виджета.

  2. Вы генерируете вышеуказанный JS из функции? ИМХО это должно быть сделано в шаблоне. Я делаю то же самое с включением - использую другой метод включения JS и другие модули, но принцип должен быть таким же:

    <div id="mediaspace">Please activate JS or install Flash.</div>
    <script type="text/javascript" src="/{$ThemeDir}/videoplayer/swfobject.js"></script>
    <script type="text/javascript">
        var so = new SWFObject('{$BaseHref}{$ThemeDir}/videoplayer/player-licensed.swf', 'mpl', '600', '320', '9');
        so.addParam('allowscriptaccess', 'always');
        so.addParam('allownetworking', 'all');
        so.addParam('allowfullscreen', 'true');
        so.addParam('wmode', 'opaque');
        so.addVariable('file', '$xmlfile');
        so.addVariable('plugins', '{$BaseHref}{$ThemeDir}/videoplayer/GridCommercial.swf');
        so.addVariable('dock', 'true');
        so.write('mediaspace'); 
    </script>
    
...