我遇到了一点障碍,过去3个小时我一直在疯狂。我已经尝试了所有我能想到的......
我正在尝试使用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是正确的。但是当我在Chrome中运行此页面时,其控制台会告诉我以下内容:
无法加载资源:服务器响应状态为404(未找到) /dataobject_manager/code/flv/jwplayer-skin/jw-skin_nedtrain.zip.swf
注意最后的“ .swf ”? HELL在哪里得到它?!该死的文件不存在。我猜测SWFObject会处理URL并添加.swf-part,所以我尝试使用jwplayer.js来嵌入它。这导致完全相同的错误。
我很难过。任何人都可以帮助我摆脱痛苦吗?任何人??
答案 0 :(得分:0)
您已将播放器添加到dataobject_manager文件夹中?恕我直言,永远不应该在那里添加 - 在mysite,你的主题或专用模块/小部件文件夹中保留任何自定义代码/实用程序。
您是从函数生成上面的JS吗?恕我直言,这应该在模板中完成。我正在使用include进行相同的操作 - 使用不同的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>