2011-08-12 3 views
0

나는 약간의 걸림돌을 만나고 지난 3 시간 동안 나를 미치게했습니다. 내가 생각할 수있는 모든 것을 시도했습니다 ...SWFObject를 사용하여 JWPlayer 포함 - 스킨 적용

SWFObject를 사용하여 페이지에 여러 개의 JWplayers를 포함하려고합니다. 그것은 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이 올바른지 다음과 같이 각 인스턴스에 대해 반환

코드입니다. 내가 크롬에서이 페이지를 실행할 때, 그 콘솔은 다음 나에게 말한다 :

자원을로드하지 못했습니다 : 서버가 404 (찾을 수 없음) /dataobject_manager/코드/FLV/jwplayer 피부의 상태와 반응 /jw-skin_nedtrain.zip.swf

공지 사항은 " .SWF"끝? 지옥이 그것을 어디에서 얻습니까?! 젠장, 그 파일은 존재하지 않는다. SWFObject가 URL을 처리하고 .swf 파트를 추가한다고 추측합니다. 따라서 jwplayer.js를 사용하여 SWF를 삽입하려고 시도했습니다. 정확한 원인은 입니다.

내가 곤혹 스럽다. 아무도 내 불행에서 나를 도울 수 있습니까? 누군가??

답변

0
  1. 플레이어를 dataobject_manager 폴더에 추가 했습니까? IMHO 이것은 결코 거기에 추가되어서는 안됩니다 - mysite, 테마 또는 전용 모듈/위젯 폴더에 사용자 정의 코드/유틸리티를 유지하십시오.

  2. 함수에서 위의 JS를 생성하고 있습니까? IMHO 이것은 템플리트에서 수행되어야합니다.

    <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> 
    
+0

xeraa, 감사 의견을 보내 주셔서 너무 : JS의 포함 및 다른 모듈의 다른 방법을 사용하지만 원리는 동일해야합니다 - 나는 거의 같은 포함과 함께하고 있어요. 그러나 JWPlayer는 실제로 dataobject_manager _ default_ : https://github.com/unclecheese/DataObjectManager/tree/master/code/flv에 내장되어 있습니다. 나는 (SilverStripe 관련) 코딩 문제로 언제든지 Uncle Cheese를 언젠가는 믿을 것입니다.) 클라이언트는 여러 비디오를 업로드하고 페이지에서 그들을 제작할 수 있어야합니다. dataobject_manager의 미디어 기능은 이에 적합했습니다. 나는 결국 **. zip.swf ** - 확장자로 피부 사본을 저장함으로써이 문제를 해결했다. 조잡한 수정, 그러나 나는 그것이 실제로 효과가 있었는지에 관해 알기 위해 아주 즐거웠다 : D –

+0

나의 나쁜 - 나는 우리가하는 것처럼 당신 자신의, 면허 취득자를 사용하고 있다고 추정했다. – xeraa

관련 문제