3

我在我的 html 页面中嵌入了一个 swf,但是当我单击 html 中的一个按钮时,我希望它交换到另一个 swf。我使用 swfobject.js 嵌入 swf,并使用原型编写 javascript。我以为我可以做到这一点

$('movie').value = 'swf/bhts.swf';
alert($('movie').value);

值确实更改为 swf/bhts.swf,但它仍在播放原始 swf 文件...这是我用来嵌入 swf 的代码

<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" width="530" height="298" id="flashcontent">
<param id="movie" name="movie" value="swf/trailer.swf" />
</object>

谢谢。

4

2 回答 2

2

使用 swfObject:

<div id='flashContent'>
</div>

<script type='text/javascript'>    
    // Setup your initial flash 
    var so = new SwfObject(.....);
    so.write ('flashContent');

    // Some event handler
    someElement.onclick = function ()
    {
         // Load up the new SWF
         so = new swfObject(....);
         so.write('flashContent');
    }
</script>
于 2008-11-14T22:30:28.117 回答
0

你是如何使用 SWFObject 的?如果您使用 swfobject.embedSWF 方法将 SWF 添加到您的 HTML 文件中,那么您可以使用相同的 ID 再次调用它,它应该删除旧的 Flash 播放器对象并使用您的新 URL 添加一个新对象。

您还可以使用 SWF 自己的方法来替换它正在使用的 URL。如果您有 Flash 对象的 ID,请使用类似

var swf = getElementById("flash_id");
swf.LoadMovie(0, "http://example.com/newSwfUrl.swf");

这应该指示 Flash 播放器从不同的位置重新加载,替换第 0 层(默认层)。这可能不适用于真正旧的 Flash 播放器,但在 Flash 8 及更高版本中应该没问题。

于 2008-11-14T23:58:19.500 回答