使用Java动态加载SWF文件

时间:2011-01-31 13:25:57

标签: java html

我想在我的网页中动态加载SWF文件。但我不知道该怎么做。是否可以从后端加载SWF?在这个网站Insert SWF into html page中,我找到了一种加载SWF的方法,但它是静态的。我有一个数据库,我将存储SWF文件的路径并动态加载这些文件。有没有办法动态更改swf对象的源[“EMBED SRC =”file.swf“]? 任何信息对我都非常有帮助。谢谢。

1 个答案:

答案 0 :(得分:0)

虽然我没有使用Wicket的个人经验,但这是我理解它应该去的方式。使用AttributeModifier更改value标记的param属性值和src标记的movie属性值。您还需要在HTML模板上为它们提供Wicket id,以便能够从Java代码中引用它们。通常,HTML模板看起来像这样:

<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000"
  width="300" height="170"
  codebase="http://fpdownload.macromedia.com/get/flashplayer/current/swflash.cab">
  <param wicket:id="swfReference1" name="movie" value="" />
  <param name="quality" value="high" />
  <param name="bgcolor" value="#000000" />
  <param name="allowScriptAccess" value="always" />
  <embed wicket:id="swfReference2" src="" quality="high" bgcolor="#000000"
    width="300" height="170" align="middle"
    play="true"
    loop="false"
    allowScriptAccess="always"
    type="application/x-shockwave-flash"
    pluginspage="http://www.adobe.com/go/getflashplayer">
  </embed>
</object>
...

通过使用例如jQuery来切换SWF源,你也可以在JavaScript级别上做到更加动态。 Here's a working example

$('param[name=movie]').attr('value', 'https://demo.adobe.com/Home.swf');
$('embed').attr('src', 'https://demo.adobe.com/Home.swf');