【问题标题】:How to use javascript to swap swf in html?如何使用javascript在html中交换swf?
【发布时间】:2008-11-14 22:27:37
【问题描述】:

我在我的 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>

谢谢。

【问题讨论】:

    标签: javascript html flash embed


    【解决方案1】:

    使用 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>
    

    【讨论】:

      【解决方案2】:

      您如何使用 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 及更高版本中应该没问题。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2020-11-03
        • 1970-01-01
        • 1970-01-01
        • 2013-12-16
        • 2011-09-23
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多