0

这就是我想要实现的。

  1. 在加载 swf 文件时,包装器 div显示 html 内容(例如文本内容)。
  2. 当 swf 文件加载 100% 时,它会替换包装器 div 中的文本内容然后在包装器 div中播放。
  3. 当 swf 文件播放完毕后,它会被替换为之前的文本内容。

(这更像是 html 到 swf 到 html 在 div 内交换)

如果这是可能的或任何其他解决方法,有什么想法吗?

非常感谢任何可以分享的人。

4

2 回答 2

0

最简单的方法是从影片中的 ActionScript 调用 div 交换函数。

当电影 100% 加载时,您可以调用,然后从电影的“最后一帧”再次调用,因此您将让 flash 电影说“给我看”,然后再“隐藏我”。

于 2009-08-06T06:53:40.450 回答
0

Have the HTML and Flash in one div. Since you can't hide a SWF. This trick is to shove it off screen:

<div id="wrapper">
    <div id="flashWrapper" style="position:relative; left:-2000px;">
        <object>flash embed code</object>
    </div>
    <div id="loading">Flash is loading...</div>
</div> 

It's more fool-proof to have the SWF call a JS function with the ExternalInterface when it's finished. But you can check it via JS:

<script>
    var v = setInterval(function(){
        if(flashMovie.PercentLoaded() == 100){
            document.getElementById("flashWrapper").style.left = "0px";
            document.getElementById("loading").style.display = "none";
            clearInterval(v);
        }
    });
</script>

If you are inserting the SWF dynamically be sure to wait a millisecond before accessing it.

于 2009-08-07T01:32:48.137 回答